Skip to main content

Plack::Middleware::Security::Common CVE-2026-9658

| EUVDEUVD-2026-32892 HIGH
Improper Filtering of Special Elements (CWE-790)
2026-05-28 CPANSec GHSA-xcq6-chp9-g954
7.3
CVSS 3.1 · Vendor: CPANSec
View

Attack ChainAIDerived

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

  1. Access
    Identify Plack app using vulnerable middleware
  2. Delivery
    Craft GET request with raw CRLF in path
  3. Exploit
    Bypass middleware injection filter
  4. Execution
    Proxy/server processes smuggled headers
  5. Impact
    Achieve header injection or request smuggling

Vulnerability Assessment

Weakness
CWE
Exploitation Conditions

Exploitation requires that the target Perl web application uses Plack::Middleware::Security::Common (any version below 0.13.1) and relies on its header-injection rule as a security boundary; the attacker sends a request path containing raw or single-encoded CRLF (\r\n / %0D%0A) rather than double-encoded sequences. Realized impact further depends on the deployment stack - specifically how the fronting reverse proxy normalizes or forwards CRLF in paths and how the underlying Plack server (e.g., Starman, Gazelle, Twiggy) parses the smuggled bytes - which the CVE description explicitly flags as uncertain. No authentication or user interaction is needed (PR:N/UI:N), but applications that do not deploy this middleware, or that already strip CRLF at the proxy, are not exposed.

Impact

The CVSS vector AV:N/AC:L/PR:N/UI:N rates this as remotely exploitable with no authentication, but the C:L/I:L/A:L impact reflects partial - not full - compromise, yielding the 7.3 score. EPSS at 0.03% (9th percentile) and the absence of KEV listing or known public exploit point to low real-world targeting pressure, and the CVE description itself notes uncertainty about whether downstream reverse proxies or Plack servers actually act on the injected headers - so the practical impact is conditional on the deployment stack. This is best treated as a defense-in-depth control failure (a security middleware that did not enforce as advertised) rather than a critical RCE-class issue; prioritize patching but it is not an emergency for most defenders.

Exploit ScenarioDerived

An attacker sends a crafted HTTP request such as GET /path\r\nHTTP/1.1\r\nHost: secret.example.com to a Plack-based application protected by Plack::Middleware::Security::Common, expecting the middleware to block it. Because the injection filter only catches double-encoded CRLF, the request passes through, and depending on how the front-end proxy and Plack handler interpret the embedded CRLF the attacker may achieve request smuggling, cache poisoning, or routing to an unintended Host. No public exploit is identified at time of analysis.

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

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

Alert me

AnalysisAIv1 – Jun 01, 2026

Header injection filtering bypass in Plack::Middleware::Security::Common (Perl) versions prior to 0.13.1 allows remote attackers to smuggle CRLF sequences and additional headers through request paths that are not double-encoded. The flaw weakens a security middleware specifically designed to prevent header injection, and while EPSS sits at 0.03% (9th percentile) with no public exploit identified at time of analysis, downstream impact depends on how reverse proxies and Plack-based servers handle the unblocked CRLF payloads.

RemediationAI

Vendor-released patch: upgrade Plack::Middleware::Security::Common to version 0.13.1 or later from CPAN (see https://metacpan.org/release/RRWO/Plack-Middleware-Security-Simple-v0.13.1/changes); a typical install via cpanm Plack::Middleware::Security::Common@0.13.1 followed by application restart is sufficient. As a compensating control until upgrade, configure the upstream reverse proxy (nginx, Apache, HAProxy) to reject request paths containing raw CRLF or %0D%0A sequences - note this may break clients that legitimately send unusual but valid percent-encoded paths. Additionally, audit the broader Plack stack for any logic that trusts the unsanitized PATH_INFO/REQUEST_URI, since the middleware was previously assumed to block such payloads.

Affected VersionsENISA

Plack::Middleware::Security::Common 0 <0.13.1

Affected Packages

euvd plack_middleware_security_common fix: 0.13.1

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

Plack is the Perl PSGI (Perl Server Gateway Interface) toolkit, and Plack::Middleware::Security::Common is a CPAN module by RRWO providing a collection of security middlewares for Plack-based web applications. The root cause is CWE-790 (Improper Filtering of Special Elements), where the middleware's header-injection rule only matched double-encoded CRLF (%250D%250A) patterns rather than raw or single-encoded CRLF (\r\n) in the request path. The affected component is identified by CPE cpe:2.3:a:rrwo:plack::middleware::security::common and the flaw resides in the regex/decoding logic intended to neutralize HTTP header smuggling and response-splitting payloads before they reach the upstream application.

Know when Plack 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 (CPANSec) PRIMARY 7.3 HIGH
AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L

Primary rating from Vendor (CPANSec) · only source for this CVE.

CVSS VectorVendor: CPANSec

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

Lifecycle Timeline

3
CVSS changed
Jun 01, 2026 - 19:22 NVD
7.3 (HIGH)
Patch available
May 28, 2026 - 14:01 EUVD
CVE Published
May 28, 2026 - 11:36 nvd
UNKNOWN (no severity yet)

DescriptionCVE.org

Plack::Middleware::Security::Common versions before 0.13.1 for Perl did not block header injections in request paths.

The header injection rule was ineffective at blocking header injections in the request paths unless they were double-encoded, for example,

GET /path\r\nHTTP/1.1\r\nHost: secret.example.com

Note that it is unclear whether request paths with CRLF followed by additional headers would be blocked by reverse proxies, or how they would be processed by Plack-based servers.

Executive ViewAI

Why It Matters

Plack::Middleware::Security::Common, a critical Perl web application security control, contains a header injection bypass in versions before 0.13.1 that defeats its intended protective function. Organizations running affected Perl applications face elevated risk from HTTP header injection attacks that could enable response manipulation or cache poisoning, depending on downstream infrastructure. Immediate upgrade to version 0.13.1 is required to restore this essential security layer.

Business Impact: High
Compensating Controls

Apply vendor patch: version 0.13.1 or later.

Threat Intelligence Overview

EPSS Score
0.0%
Top 91% exploitable
Data Quality
5 sources
Confidence: Medium

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.0%
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
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

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

Attack Technique

Code Injection CRITICAL

Code injection occurs when an application accepts user input and passes it directly into a language interpreter or evaluator without proper sanitization.

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