CVE-2026-7010
HTTP::Tiny Perl Module CRLF Injection Vulnerability
Publication date: 2026-05-11
Last updated on: 2026-05-12
Assigner: CPANSec
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| perl_toolchain_gang | http_tiny | to 0.093 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-113 | The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers. |
Attack-Flow Graph
AI Powered Q&A
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
This vulnerability allows an attacker to inject additional HTTP headers and smuggle requests to upstream servers by exploiting unvalidated CRLF sequences in HTTP request lines and headers.
Such injection and request smuggling attacks can lead to unauthorized access, data leakage, or manipulation of HTTP traffic, which may compromise the confidentiality and integrity of data.
Consequently, this can impact compliance with standards and regulations like GDPR and HIPAA that require protection of personal and sensitive data against unauthorized access and data breaches.
Organizations using vulnerable versions of HTTP::Tiny may face increased risk of non-compliance due to potential exploitation of this vulnerability leading to data exposure or manipulation.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability involves improper validation of CRLF sequences in HTTP request lines and headers, which can lead to HTTP request/response splitting and header injection.
To detect this vulnerability on your network or system, you can monitor HTTP requests for suspicious or malformed headers that include unexpected CRLF sequences or injected headers.
Specifically, you can use network traffic analysis tools like tcpdump or Wireshark to capture HTTP traffic and look for requests containing multiple headers injected via CRLF sequences.
- Use tcpdump to capture HTTP traffic: tcpdump -i <interface> -A 'tcp port 80 or 443'
- Use grep or similar tools to search logs or captured traffic for suspicious CRLF injection patterns, such as '%0d%0a' or '\r\n' sequences in HTTP request lines or headers.
- Check application logs or webhook endpoints for user-supplied URLs or inputs that contain control characters or unexpected header delimiters.
Since the vulnerability is in HTTP::Tiny versions before 0.093, you can also check the version of HTTP::Tiny installed in your Perl environment to identify if it is vulnerable.
- Run a Perl command to check HTTP::Tiny version: perl -MHTTP::Tiny -e 'print $HTTP::Tiny::VERSION, "\n"'
What immediate steps should I take to mitigate this vulnerability?
The primary mitigation step is to upgrade HTTP::Tiny to version 0.093-TRIAL or later, where the vulnerability has been fixed by adding validation checks to reject control characters in HTTP request methods, URIs, and headers.
Until you can upgrade, avoid passing untrusted user input directly to HTTP::Tiny request methods, especially user-supplied URLs or webhook inputs.
Implement input validation and sanitization on any user-supplied URLs or HTTP request components to ensure they do not contain CRLF sequences or control characters.
Monitor your systems for suspicious HTTP request patterns that could indicate exploitation attempts.
Can you explain this vulnerability to me?
This vulnerability exists in HTTP::Tiny versions before 0.093 for Perl, where the software does not validate CRLF (Carriage Return Line Feed) characters in HTTP request lines or control field header values.
Specifically, the inputs that are not validated include the HTTP method and URI in the request line, the URL host that becomes the Host header, and HTTP/1.1 control data field values.
An attacker who can control one of these inputs, such as a user-supplied URL passed to a webhook or URL fetch endpoint, can exploit this flaw to inject additional HTTP headers and perform request smuggling attacks to the upstream server.
How can this vulnerability impact me? :
This vulnerability can allow an attacker to inject additional HTTP headers and smuggle requests to the upstream server.
Such attacks can lead to unauthorized actions, bypassing security controls, or manipulating the behavior of the server or application that relies on HTTP::Tiny.