Cloudanix VulnDB

CVE-2015-8853

High · 7.5

CVSS

7.5

EPSS

2.6%

Published

May 25, 2016

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

Older versions of the Perl programming language can be tricked into freezing when they try to process certain specially formatted text, which can stop programs that use Perl from working.

Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Denial Of Service
Component
Library
Class
Improper Input Validation
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

The S_reghop3, S_reghop4, and S_reghopmaybe3 functions in regexec.c contain a flaw that enters an infinite loop when processing certain crafted UTF-8 sequences during regular expression execution.

Why it matters to the business

Services or scripts written in older Perl versions can be made unresponsive by sending specially formatted text, causing application outages and requiring manual restarts.

How an attack unfolds

An attacker crafts UTF-8 input containing sequences such as "a\x80." and submits it to any Perl application that performs regex matching on untrusted data; the vulnerable regexec functions loop indefinitely, consuming CPU and hanging the process.

How to fix it

Upgrade Perl to version 5.24.0 or later on all affected systems; where immediate upgrade is not possible, avoid applying untrusted UTF-8 data to regular expressions or implement input sanitization before regex operations.

How to confirm the fix worked

Run 'perl -v' to confirm the installed version is 5.24.0 or newer; attempt to reproduce the issue with the original UTF-8 test string and verify that the process terminates normally instead of looping.

Typical attack path

  1. Locate Perl-based services or scripts that accept external input and apply regular expressions.
  2. Generate or obtain a minimal UTF-8 payload known to trigger the regexec loop.
  3. Deliver the payload via network request, file upload, or command-line argument.
  4. Observe sustained high CPU usage and lack of response from the affected Perl process.

How to detect it

Review system and application logs for Perl processes that show sustained 100% CPU utilization without corresponding progress in request handling; correlate with incoming requests containing UTF-8 sequences near regex operations.

What your security team should do

  • Prioritize upgrading all Perl installations to 5.24.0 or newer within the next maintenance window.
  • Inventory applications that use Perl regex on external input and apply input validation or sandboxing as a temporary control.
  • Monitor for high-CPU Perl processes and include Perl version checks in routine vulnerability scans.

The record

The (1) S_reghop3, (2) S_reghop4, and (3) S_reghopmaybe3 functions in regexec.c in Perl before 5.24.0 allow context-dependent attackers to cause a denial of service (infinite loop) via crafted utf-8 data, as demonstrated by "a\x80."

Affected packages

Ecosystem Package Introduced Fixed
Debian:11 perl 0 5.22.1-1
Debian:12 perl 0 5.22.1-1
Debian:13 perl 0 5.22.1-1
Mageia:5 perl 0 5.20.1-8.3.mga5
SUSE:Linux Enterprise Desktop 12 SP1 perl 0 5.18.2-11.1
SUSE:Linux Enterprise Server 11 SP4 perl 0 5.10.0-64.80.1
SUSE:Linux Enterprise Server 12 SP1 perl 0 5.18.2-11.1
SUSE:Linux Enterprise Server for SAP Applications 11 SP4 perl 0 5.10.0-64.80.1
SUSE:Linux Enterprise Server for SAP Applications 12 SP1 perl 0 5.18.2-11.1
SUSE:Linux Enterprise Software Development Kit 11 SP4 perl 0 5.10.0-64.80.1
Ubuntu:14.04:LTS perl 0 5.18.2-2ubuntu1.4
Ubuntu:16.04:LTS perl 0 5.22.1-9
Ubuntu:16.04:LTS perl 0 5.22.1-9ubuntu0.3

Related vulnerabilities