CVE-2026-17552: Plack::App::Prerender versions before 0.3.0 for Perl can proxy to an arbitrary host via unvalidated REQUEST_URI concatenation in call
Plack::App::Prerender versions before 0.3.0 for Perl can proxy to an arbitrary host via unvalidated REQUESTURI concatenation in call.
When the rewrite base is a plain string, the REQUESTURI is appended to it, with no check that the path starts with a forward slash ('/').
When the rewrite base does not contain a path (which is the standard given in the SYNOPSIS), an attacker can create a request that changes the hostname. A request target starting with an at-sign ('@') changes the base to a RFC 3986 userinfo component.
For example, a rewrite base of "https://example.com" with the submitted request "GET @192.168.1.2/" will send a request to "https://example.com@192.168.1.2/", with the rendered content returned to the attacker.
This allows an attacker to access internal or restricted hosts that only the webserver has access to.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Plack::App::Pnderto a version that resolves this vulnerability.Fixed in 0.3.0 - Upgrade
Upgrade
Plack::App::Prerenderto a version that resolves this vulnerability.Fixed in 0.3.0
Event History
Frequently Asked Questions
What is the severity of CVE-2026-17552?
CVE-2026-17552 has a critical severity rating of 9.1.
How do I fix CVE-2026-17552?
To fix CVE-2026-17552, upgrade Plack::App::Prerender to version 0.3.0 or later.
What does CVE-2026-17552 affect?
CVE-2026-17552 affects Plack::App::Prerender versions prior to 0.3.0 for Perl.
What type of vulnerability is CVE-2026-17552?
CVE-2026-17552 is classified as a Server-Side Request Forgery (SSRF) vulnerability.
What is the potential impact of CVE-2026-17552?
CVE-2026-17552 allows an attacker to proxy requests to arbitrary hosts, potentially exposing sensitive information.