CVE-2025-40927
CGI::Simple versions 1.281 and earlier for Perl has a HTTP response splitting flaw
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
7.3
CGI::Simple versions 1.281 and earlier for Perl has a HTTP response splitting flaw
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
- Record
CVE-2025-40927- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-113
- Updated
- 2026-11-02
EUVDEUVD-2025-27982
7.3
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
- Record
EUVD-2025-27982- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-wh29-fq99-4ww5
7.3
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability...
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
- Record
GHSA-wh29-fq99-4ww5- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-113
- Updated
- 2026-11-02
NVD
7.3
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
- Record
CVE-2025-40927- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-113
- Updated
- 2026-11-02
OSV
7.3
CGI::Simple versions 1.281 and earlier for Perl has a HTTP response splitting flaw
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions.
Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters.
As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks.
The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete.
Impact
By injecting %0A (newline) into a query string parameter, an attacker can:
-
Break the current HTTP header
-
Inject a new header or entire body
-
Deliver a script payload that is reflected in the server’s response That can lead to the following attacks:
-
reflected XSS
-
open redirect
-
cache poisoning
-
header manipulation
- Record
CVE-2025-40927- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Weakness
- CWE-113
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2025-40927
7.3
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions. Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters. As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks. The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete. Impact By injecting %0A (newline) into a query string parameter, an attacker can: * Break the current HTTP header * Inject a new header or entire body * Deliver a script payload that is reflected in the server’s response That can lead to the following attacks: * reflected XSS * open redirect * cache poisoning * header manipulation
- Record
DEBIAN-CVE-2025-40927- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVUBUNTU-CVE-2025-40927
7.3
CGI::Simple versions before 1.282 for Perl has a HTTP response splitting flaw This vulnerability is a confirmed HTTP response splitting flaw in CGI::Simple that allows HTTP response header injection, which can be used for reflected XSS or open redirect under certain conditions. Although some validation exists, it can be bypassed using URL-encoded values, allowing an attacker to inject untrusted content into the response via query parameters. As a result, an attacker can inject a line break (e.g. %0A) into the parameter value, causing the server to split the HTTP response and inject arbitrary headers or even an HTML/JavaScript body, leading to reflected cross-site scripting (XSS), open redirect or other attacks. The issue documented in CVE-2010-4410 https://www.cve.org/CVERecord?id=CVE-2010-4410 is related but the fix was incomplete. Impact By injecting %0A (newline) into a query string parameter, an attacker can: * Break the current HTTP header * Inject a new header or entire body * Deliver a script payload that is reflected in the server’s response That can lead to the following attacks: * reflected XSS * open redirect * cache poisoning * header manipulation
- Record
UBUNTU-CVE-2025-40927- CVSS 3.1
- 7.3 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L - Updated
- 2026-11-02
OSVopenSUSE-SU-2025:15625-1 No score
perl-CGI-Simple-1.282.0-1.1 on GA media
These are all security issues fixed in the perl-CGI-Simple-1.282.0-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2025:15625-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
libcgi-simple-perlDebian:12 |
before 1.280-2+deb12u1, plus listed versions 1.280-2 |
1.280-2+deb12u1 |
libcgi-simple-perlDebian:13 |
before 1.282-1~deb13u1, plus listed versions 1.281-1 |
1.282-1~deb13u1 |
libcgi-simple-perlDebian:14 |
before 1.282-1, plus listed versions 1.281-11.282-1~deb13u1 |
1.282-1 |
libcgi-simple-perlUbuntu:16.04:LTS |
All versions, plus listed versions 1.115-11.115-2 |
None known |
libcgi-simple-perlUbuntu:18.04:LTS |
All versions, plus listed versions 1.115-2 |
None known |
libcgi-simple-perlUbuntu:20.04:LTS |
All versions, plus listed versions 1.115-2 |
None known |
libcgi-simple-perlUbuntu:22.04:LTS |
All versions, plus listed versions 1.115-21.280-1 |
None known |
libcgi-simple-perlUbuntu:24.04:LTS |
All versions, plus listed versions 1.280-21.281-1 |
None known |
libcgi-simple-perlUbuntu:25.10 |
All versions, plus listed versions 1.281-1 |
None known |
libcgi-simple-perlUbuntu:26.04:LTS |
All versions, plus listed versions 1.281-11.282-1 |
None known |
perl-CGI-SimpleopenSUSE:Tumbleweed |
before 1.282.0-1.1 | 1.282.0-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2025-40927 is a high vulnerability (CVSS 7.3) in Manwar Cgi::simple, published August 29, 2025. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.48%, the 42nd percentile. Fixed in libcgi-simple-perl 1.280-2+deb12u1.
References
metacpan.org/release/MANWAR/CGI-Simple-1.281/source/lib/CGI/Simple.pm
metacpan.org/release/MANWAR/CGI-Simple-1.281/diff/MANWAR/CGI-Simple-1.282/lib/CGI/Simple.pm
owasp.org/www-community/attacks/HTTP_Response_Splitting
datatracker.ietf.org/doc/html/rfc7230
cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2004-2320
rt.perl.org/Public/Bug/Display.html?id=21951
Show 11 moreShow less
nvd.nist.gov/vuln/detail/CVE-2025-40927
github.com/advisories/GHSA-wh29-fq99-4ww5
cpan.org/modules
github.com/CVEProject/cvelistV5/tree/main/cves/2025/40xxx/CVE-2025-40927.json
github.com/manwar/CGI--Simple
security-tracker.debian.org/tracker/CVE-2025-40927
ubuntu.com/security/CVE-2025-40927
cve.org/CVERecord?id=CVE-2025-40927
lists.security.metacpan.org/cve-announce/msg/32357435
github.com/manwar/CGI--Simple/commit/0c1a2e0b8f24804d33daac686666ac944363a630
suse.com/security/cve/CVE-2025-40927