Description
Dancer2 versions before 2.2.0 for Perl do not strip CR and LF from response header names in headers_to_array.

The routine removes CR and LF from each header value but not from the name. A name carrying them therefore reaches the PSGI server intact. A server that does not validate keys writes it to the wire, so the bytes after the CRLF arrive as their own header line.

The application has to derive the header name from request data, not just the value.

An attacker who controls that data adds their own headers and splits the response.
Published: 2026-09-22
Score: 6.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Header Injection leading to HTTP Response Splitting
Action: Immediate Patch
AI Analysis

Impact

The vulnerability arises because Dancer2's response header handling fails to strip carriage return and line feed characters from header names. Because the server transmits header names unchanged, an attacker who can influence request data can inject CRLF sequences into a header name, causing the server to write additional header lines. This allows the attacker to split the HTTP response, injecting arbitrary content or headers into the response stream, potentially facilitating cross‑site scripting, session hijacking, or other injection attacks.

Affected Systems

The issue affects the Perl Dancer2 web application framework. Versions prior to 2.2.0 are vulnerable; the patch is in Dancer2 2.2.0 and later. The vulnerability applies to installations that allow user‑controlled response header names, such as custom extensions or middleware that use request data to build response headers.

Risk and Exploitability

The CVSS score is 6.5, the EPSS score is < 1%, and it is not listed in the KEV catalog. The vulnerability can be exploited remotely with minimal effort on any site using a vulnerable Dancer2 version and allowing header name manipulation. An attacker does not need elevated privileges and can execute the attack via crafted HTTP requests that set header names containing CRLF. No patch aside from an upgrade is currently available, so the risk remains high until remedied.

Generated by OpenCVE AI on September 22, 2026 at 21:55 UTC.

Remediation

Vendor Solution

Upgrade to Dancer2 2.2.0 or later.


OpenCVE Recommended Actions

  • Upgrade to Dancer2 2.2.0 or newer
  • If an upgrade is not possible immediately, configure the application to strip CRLF characters from any header names before they are passed to the PSGI server, ensuring downstream validation
  • Enforce strict validation of response header names in custom middleware or extensions, rejecting any names containing CR or LF

Generated by OpenCVE AI on September 22, 2026 at 21:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 28 Sep 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Perldancer
Perldancer dancer2
Vendors & Products Perldancer
Perldancer dancer2

Tue, 22 Sep 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 6.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N'}

ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Tue, 22 Sep 2026 03:30:00 +0000

Type Values Removed Values Added
References

Tue, 22 Sep 2026 01:00:00 +0000

Type Values Removed Values Added
Description Dancer2 versions before 2.2.0 for Perl do not strip CR and LF from response header names in headers_to_array. The routine removes CR and LF from each header value but not from the name. A name carrying them therefore reaches the PSGI server intact. A server that does not validate keys writes it to the wire, so the bytes after the CRLF arrive as their own header line. The application has to derive the header name from request data, not just the value. An attacker who controls that data adds their own headers and splits the response.
Title Dancer2 versions before 2.2.0 for Perl do not strip CR and LF from response header names in headers_to_array
Weaknesses CWE-113
References

Subscriptions

Perldancer Dancer2
cve-icon MITRE

Status: PUBLISHED

Assigner: CPANSec

Published:

Updated: 2026-09-22T19:22:25.244Z

Reserved: 2026-09-18T15:06:50.792Z

Link: CVE-2026-93711

cve-icon Vulnrichment

Updated: 2026-09-22T02:09:47.042Z

cve-icon NVD

Status : Deferred

Published: 2026-09-22T01:16:55.847

Modified: 2026-09-22T20:17:12.423

Link: CVE-2026-93711

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-09-28T19:48:02Z

Weaknesses
  • CWE-113

    Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting')