CPANSA-HTTP-Daemon-2022-31081: HTTP-Daemon vulnerability
Publisher | giterlizzi | Document category | csaf_security_advisory |
---|---|---|---|
Initial release date | 2022-06-27T00:00:00 | Engine | CSAF Perl Toolkit 0.25 |
Current release date | 2022-06-27T00:00:00 | Build Date | |
Current version | 1 | Status | final |
CVSS v3.1 Base Score | 7.3 | Severity | Medium |
Original language | Language | en | |
Also referred to |
Vulnerability Description
HTTP::Daemon is a simple http server class written in perl. Versions prior to 6.15 are subject to a vulnerability which could potentially be exploited to gain privileged access to APIs or poison intermediate caches. It is uncertain how large the risks are, most Perl based applications are served on top of Nginx or Apache, not on the `HTTP::Daemon`. This library is commonly used for local development and tests. Users are advised to update to resolve this issue. Users unable to upgrade may add additional request handling logic as a mitigation. After calling `my $rqst = $conn->get_request()` one could inspect the returned `HTTP::Request` object. Querying the 'Content-Length' (`my $cl = $rqst->header('Content-Length')`) will show any abnormalities that should be dealt with by a `400` response. Expected strings of 'Content-Length' SHOULD consist of either a single non-negative integer, or, a comma separated repetition of that number. (that is `42` or `42, 42, 42`). Anything else MUST be rejected.
Vulnerabilities
CVE-2022-31081
Vulnerability DescriptionHTTP::Daemon is a simple http server class written in perl. Versions prior to 6.15 are subject to a vulnerability which could potentially be exploited to gain privileged access to APIs or poison intermediate caches. It is uncertain how large the risks are, most Perl based applications are served on top of Nginx or Apache, not on the `HTTP::Daemon`. This library is commonly used for local development and tests. Users are advised to update to resolve this issue. Users unable to upgrade may add additional request handling logic as a mitigation. After calling `my $rqst = $conn->get_request()` one could inspect the returned `HTTP::Request` object. Querying the 'Content-Length' (`my $cl = $rqst->header('Content-Length')`) will show any abnormalities that should be dealt with by a `400` response. Expected strings of 'Content-Length' SHOULD consist of either a single non-negative integer, or, a comma separated repetition of that number. (that is `42` or `42, 42, 42`). Anything else MUST be rejected.
Weakness | CWE-444 : Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') |
---|
Product status
Known affected
Product | Score | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
HTTP-Daemon less than 6.15 |
|
Fixed
- HTTP-Daemon greater than or equal 6.15
giterlizzi
Namespace: https://github.com/giterlizzi/
gdt@cpan.org
References
- CPANSA-HTTP-Daemon-2022-31081 JSON self
https://raw.githubusercontent.com/giterlizzi/perl-CPANSA-CSAF/develop/csaf/white/2022/cpansa-http-daemon-2022-31081.json - https://github.com/libwww-perl/HTTP-Daemon/commit/e84475de51d6fd7b29354a997413472a99db70b2 external
https://github.com/libwww-perl/HTTP-Daemon/commit/e84475de51d6fd7b29354a997413472a99db70b2 - https://github.com/libwww-perl/HTTP-Daemon/commit/8dc5269d59e2d5d9eb1647d82c449ccd880f7fd0 external
https://github.com/libwww-perl/HTTP-Daemon/commit/8dc5269d59e2d5d9eb1647d82c449ccd880f7fd0 - https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn external
https://portswigger.net/research/http-desync-attacks-request-smuggling-reborn - https://datatracker.ietf.org/doc/html/rfc7230#section-9.5 external
https://datatracker.ietf.org/doc/html/rfc7230#section-9.5 - https://github.com/libwww-perl/HTTP-Daemon/security/advisories/GHSA-cg8c-pxmv-w7cf external
https://github.com/libwww-perl/HTTP-Daemon/security/advisories/GHSA-cg8c-pxmv-w7cf - http://metacpan.org/release/HTTP-Daemon/ external
http://metacpan.org/release/HTTP-Daemon/ - https://cwe.mitre.org/data/definitions/444.html external
https://cwe.mitre.org/data/definitions/444.html - https://github.com/libwww-perl/HTTP-Daemon/issues/56 external
https://github.com/libwww-perl/HTTP-Daemon/issues/56 - https://github.com/NixOS/nixpkgs/pull/181632 external
https://github.com/NixOS/nixpkgs/pull/181632 - CVE-2022-31081 (NVD) external
https://nvd.nist.gov/vuln/detail/CVE-2022-31081
Revision history
Version | Date of the revision | Summary of the revision |
---|---|---|
1 | Mon Jun 27 00:00:00 2022 | First release |
Sharing rules
TLP:WHITE
For the TLP version see: https://www.first.org/tlp/