CVE-2026-93711: Dancer2 versions before 2.2.0 for Perl do not strip CR and LF from response header names in headers_to_array

Published Sep 22, 2026
·
Updated

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

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.

Affected Software

1 affected component
Perl Dancer2 Dancer2<2.2.0

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade Dancer2 to a version that resolves this vulnerability.

    Fixed in 2.2.0

Event History

Sep 22, 2026
CVE Published
via MITRE·12:52 AM
Data Sourced
via MITRE·12:52 AM
RemedyDescriptionWeakness
Data Sourced
via NVD·01:16 AM
DescriptionWeakness

Frequently Asked Questions

1

Which deployments are realistically exposed to response splitting?

Deployments using Dancer2 before 2.2.0 are exposed only when application-controlled request data can influence a response header name and the PSGI server does not validate header keys before writing the response.

2

What must an attacker control to exploit this issue?

The attacker must be able to cause CR and LF characters to appear in a response header name. Controlling only a header value is not sufficient, because the routine already removes CR and LF from header values.

3

Are applications that use only fixed response header names affected?

The described attack requires the application to derive a header name from request data. Applications that use fixed, non-request-derived header names do not meet that exploitation condition.

4

What is the remediation?

Upgrade Dancer2 to version 2.2.0 or later. That release addresses CR and LF handling for response header names in headers_to_array.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203