FreeBSD VuXML: Documenting security issues in FreeBSD and the FreeBSD Ports Collection

p5-Dancer2 -- Multiple vulnerabilities

Affected packages
p5-Dancer2 < 2.2.0

Details

VuXML ID 6690917c-b657-11f1-ad2b-40b034429ecf
Discovery 2026-09-22
Entry 2026-09-22

Dancer project reports:

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.

Dancer2 versions before 2.2.0 for Perl serve a layout as a page when an equivalent spelling of its path misses the guard in the AutoPage handler. The handler compares the request path against the layout directory name as text, while the lookup that follows canonicalises it. A doubled slash, a dot segment, a percent-encoded slash, or a different capitalisation on a case-insensitive filesystem therefore misses the guard. The handler is off by default, enabled with auto_page. The layout wrapping every page is already public, so this discloses one of the application's other layouts.

References

CVE Name CVE-2026-93709
CVE Name CVE-2026-93711
URL https://nvd.nist.gov/vuln/detail/cve-2026-93709
URL https://nvd.nist.gov/vuln/detail/cve-2026-93711