Skip to main content

PCRE2 EUVDEUVD-2026-71836

| CVE-2026-86145 HIGH
Improper Protection of Alternate Path (CWE-424)
2026-09-05 mitre GHSA-hmq6-c24m-v98g
8.2
CVSS 3.1 · Vendor: mitre
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit crafted recursive regex via user-facing input
  2. Delivery
    Reach pcre2_dfa_match call with attacker-controlled pattern
  3. Exploit
    Trigger recursive DFA workspace allocation
  4. Execution
    Cached workspace block reused without size check
  5. Persist
    Out-of-bounds write into adjacent heap memory
  6. Impact
    Heap corruption causes data integrity impact or process instability

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Alternate path protection
Exploitation Conditions

Exploitation requires one of two specific conditions: (1) the target application passes attacker-controlled regular expression input directly to pcre2_dfa_match - applications that use only developer-defined static patterns compiled at startup are not exploitable via this vector; or (2) the application configures a small heap limit via pcre2_match_context_set_heap_limit() through the PCRE2 API AND processes recursive patterns. Exploitation is further limited by the fact that most high-level language bindings (PHP preg_*, Python re module) use the NFA engine (pcre2_match) by default, not the DFA engine. Attackers must specifically reach a pcre2_dfa_match call site with user-influenced input. The CVSS vector PR:N is accurate only for applications that do not authenticate before accepting regex input; many such deployments require at minimum a user session.

Impact

The vendor-assigned CVSS 8.2 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L) assumes fully unauthenticated, low-complexity remote exploitation, which is credible only when an application surfaces user-supplied regex directly to pcre2_dfa_match. A significant portion of PCRE2 deployments compile developer-defined patterns and never expose the regex engine to external input, substantially reducing real-world risk in those environments. For applications such as WAFs, log-analysis tools, API gateways, or search platforms that do accept user-supplied patterns, the provided CVSS vector is plausible. The absence of a CISA KEV listing and the lack of any disclosed public exploit code suggests this has not yet been opportunistically weaponized. EPSS data is not provided; given the conditional exploitation requirement and the specialized DFA code path, widespread mass exploitation in the immediate term is unlikely. The I:H rating reflects the potential to corrupt heap metadata and adjacent data structures via an out-of-bounds write, but actual impact is deployment-specific. No confidentiality impact (C:N) is consistent with the description - this is a write primitive, not a read-disclosure issue.

Exploit ScenarioDerived

An attacker targeting a web application with a user-defined search or filter feature (e.g., a log-analysis platform accepting user regex patterns) submits a crafted recursive regular expression designed to trigger DFA matching and force workspace reuse. When pcre2_dfa_match reuses the cached block without a size check, a write beyond the allocated buffer boundary corrupts adjacent heap memory, potentially enabling controlled data corruption or application crash. No public proof-of-concept exists at time of analysis, meaning exploitation currently requires independent vulnerability research to develop a working payload.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 05, 2026

Out-of-bounds heap write in PCRE2 before 10.48 allows memory corruption via the DFA matching engine when a cached workspace block is reused in a recursive context without the size check that guards a freshly allocated block of the same type. Applications that pass attacker-controlled regular expressions to pcre2_dfa_match, or that configure a small heap limit via the PCRE2 API while processing recursive patterns, are exploitable. No public exploit code has been identified at time of analysis, and the vulnerability is not listed in the CISA KEV catalog; however, PCRE2 10.48 ships a confirmed vendor fix alongside four other security patches in the same release.

RemediationAI

Upgrade to PCRE2 10.48, which contains the confirmed vendor security fix for this issue (GHSA-3r4p-g7gg-ppmf) alongside fixes for four additional security vulnerabilities in the same release. The signed tarball and Git tag are available at https://github.com/PCRE2Project/pcre2/releases/tag/pcre2-10.48. For applications that cannot immediately upgrade the underlying library, a targeted compensating control is to disable DFA matching (pcre2_dfa_match) entirely and fall back to the standard NFA interpreter (pcre2_match), which does not share the vulnerable cached-workspace code path - note this may alter matching semantics for patterns that use DFA-specific features. Additionally, applications that allow user-supplied regular expressions should enforce strict allowlisting of pattern syntax and impose explicit heap-limit guards via pcre2_match_context_set_heap_limit() at values sufficient for legitimate use but below the threshold that would trigger workspace caching bugs. PCRE2 10.48 also notes that the project now publishes backport security patches for older release branches under its new five-year support lifecycle policy, which may benefit environments locked to older minor versions.

Affected VersionsENISA

pcre2 10.32 <10.48

Affected Packages

euvd pcre2 fix: 10.48

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

PCRE2 (Perl Compatible Regular Expressions 2) is an open-source C library providing Perl-compatible regex matching, used broadly in PHP, nginx, grep, PostgreSQL, R, and hundreds of other projects. The affected CPE is cpe:2.3:a:pcre:pcre2:*:*:*:*:*:*:*:* covering all versions prior to 10.48. The DFA (Deterministic Finite Automaton) matching engine, exposed via pcre2_dfa_match(), maintains a workspace on the heap for matching state. When the DFA recurses, it can reuse a previously cached workspace block; unlike newly allocated blocks of the same purpose, this cached block is handed back without verifying it is large enough for the current recursive context. CWE-424 ('Improper Protection of Alternate Path') appears to be a misclassification - the actual root cause is a missing bounds check leading to an out-of-bounds write (CWE-787 / CWE-122), and this discrepancy should be noted when triaging. The release notes for PCRE2 10.48 (GHSA-3r4p-g7gg-ppmf) also cite related integer overflow issues that can cause workspace under-allocation, amplifying the OOB write surface.

Know when Pcre2 gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (mitre) PRIMARY 8.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:L
vuln.today AI 6.5 MEDIUM

Requires attacker-controlled regex input or specific API heap-limit configuration, so AC:H; no confidentiality impact from a write-only primitive.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:L
4.0 AV:N/AC:N/AT:P/PR:N/UI:N/VC:N/VI:H/VA:L/SC:N/SI:N/SA:N
SUSE HIGH
Red Hat 8.2 HIGH

Primary rating from Vendor (mitre).

CVSS VectorVendor: mitre

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
Low

Lifecycle Timeline

2
Patch available
Sep 05, 2026 - 07:01 EUVD
CVE Published
Sep 05, 2026 - 05:09 cve.org
HIGH 8.2

DescriptionCVE.org

PCRE2 before 10.48 allows a pcre2_dfa_match out-of-bounds write because reuse of a cached workspace block, in a recursive DFA matching workspace, lacks a size check (even though a newly allocated block, for the same purpose, does have a size check). This outcome requires an attacker-controlled regular expression, or a recursive pattern in conjunction with a small heap limit (this can be set through the API).

Technical POC Analysis

Heap-based buffer overflow (per GHSA, CWE-122; the CVE metadata entry lists CWE-424, which does not match the technical behavior shown in the evidence).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

PCRE2, a widely-deployed regular expression library, contains a memory corruption vulnerability (CVSS 8.2) affecting applications that process untrusted regex patterns or use recursive matching with constrained memory. No public exploit identified at time of analysis; however, the vulnerability could enable denial of service or code execution. Organizations must immediately identify PCRE2 deployments and upgrade to version 10.48 to prevent potential compromise.

Business Impact: High
Compensating Controls

Apply vendor patch: upgrade to PCRE2 10.48 or later.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
High
core regex library used in PHP, nginx, grep, PostgreSQL, and many common tools
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

More in Pcre2

View all
CVE-2016-3191 CRITICAL POC
9.8 Mar 17

The compile_branch function in pcre_compile.c in PCRE 8.x before 8.39 and pcre2_compile.c in PCRE2 before 10.22 mishandl

CVE-2015-3210 CRITICAL POC
9.8 Dec 13

Heap-based buffer overflow in PCRE 8.34 through 8.37 and PCRE2 10.10 allows remote attackers to execute arbitrary code v

CVE-2017-8786 CRITICAL POC
9.8 May 05

pcre2test.c in PCRE2 10.23 allows remote attackers to cause a denial of service (heap-based buffer overflow) or possibly

CVE-2015-3217 HIGH POC
7.5 Dec 13

PCRE 7.8 and 8.32 through 8.37, and PCRE2 10.10 mishandle group empty matches, which might allow remote attackers to cau

CVE-2017-8399 CRITICAL
9.8 May 01

PCRE2 before 10.30 has an out-of-bounds write caused by a stack-based buffer overflow in pcre2_match.c, related to a "pa

CVE-2022-1587 CRITICAL
9.1 May 16

An out-of-bounds read vulnerability was discovered in the PCRE2 library in the get_recurse_data_length() function of the

CVE-2022-1586 CRITICAL
9.1 May 16

An out-of-bounds read vulnerability was discovered in the PCRE2 library in the compile_xclass_matchingpath() function of

CVE-2017-7186 HIGH
7.5 Mar 20

libpcre1 in PCRE 8.40 and libpcre2 in PCRE2 10.23 allow remote attackers to cause a denial of service (segmentation viol

CVE-2026-89161 HIGH
7.8 Sep 11

An incorrect free in the PCRE2 JIT fast path (all versions before 10.48) can corrupt process memory when an application

CVE-2026-103111 HIGH
7.6 Sep 30

Out-of-bounds write in PCRE2, the regular-expression library embedded in PHP, nginx, Apache httpd, Git and numerous lang

CVE-2026-89157 HIGH
7.4 Sep 11

An out-of-bounds heap write in PCRE2's pcre2_convert() pattern-conversion API affects releases before 10.48, but only on

CVE-2026-89160 MEDIUM
6.5 Sep 11

Out-of-bounds read in PCRE2 before version 10.48 can be triggered in pcre2_match() when the PCRE2_MATCH_INVALID_UTF opti

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Not-Affected
SUSE Linux Enterprise Micro 5.3 Not-Affected
SUSE Linux Enterprise Micro 5.3 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy