CVE-2026-49756
CVE-2026-49756 is a low-severity vulnerability in Wojtekmach Req with a CVSS 3.x base score of 3.7. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-93.
Key facts
- Severity: Low (CVSS 3.x base score 3.7)
- CVSS v4: 2.1
- EPSS exploit prediction: 0% (25th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2026-35096
- Weakness: CWE-93
- Affected product: Wojtekmach Req
- Published:
- Last modified:
Description
Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in wojtekmach Req allows multipart parameter smuggling via attacker-influenced part metadata. Req.Utils.encode_form_part/2 in lib/req/utils.ex builds the per-part headers by interpolating the caller-supplied name, filename, and content_type values directly into the content-disposition and content-type lines with no escaping or CRLF stripping. A value containing ", \r, or \n closes the surrounding quoted value and starts a new header line; an additional \r\n--<boundary> terminates the current part and prepends a smuggled part of the attacker's choosing. This is reachable through every supported way of supplying a part. It is particularly easy when value is a %File.Stream{}, because filename then defaults to Path.basename(stream.path) and POSIX filenames may legitimately contain \r and \n. Any application that forwards user-controlled filenames (or field names / MIME types) through Req.post/2 with form_multipart: lets an attacker inject arbitrary headers into the outgoing multipart body or smuggle additional fields and parts into the request the victim service sends downstream. This issue affects req: from 0.5.3 before 0.6.0.
Frequently asked questions
- What is CVE-2026-49756?
- Improper Neutralization of CRLF Sequences ('CRLF Injection') vulnerability in wojtekmach Req allows multipart parameter smuggling via attacker-influenced part metadata. Req.Utils.encode_form_part/2 in lib/req/utils.ex builds the per-part headers by interpolating the caller-supplied name, filename, and content_type values directly into the content-disposition and content-type lines with no escaping or CRLF stripping. A value containing ", \r, or \n closes the surrounding quoted value and starts a new header line; an additional \r\n--<boundary> terminates the current part and prepends a smuggled part of the attacker's choosing. This is reachable through every supported way of supplying a part. It is particularly easy when value is a %File.Stream{}, because filename then defaults to Path.basename(stream.path) and POSIX filenames may legitimately contain \r and \n. Any application that forwards user-controlled filenames (or field names / MIME types) through Req.post/2 with form_multipart: lets an attacker inject arbitrary headers into the outgoing multipart body or smuggle additional fields and parts into the request the victim service sends downstream. This issue affects req: from 0.5.3 before 0.6.0.
- How severe is CVE-2026-49756?
- CVE-2026-49756 has a CVSS 3.x base score of 3.7, rated low severity. It is exploitable over network with high attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity low, and availability none.
- Is CVE-2026-49756 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (25th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-49756?
- CVE-2026-49756 affects Wojtekmach Req. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-49756?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- Does CVE-2026-49756 have an EU (EUVD) identifier?
- Yes. CVE-2026-49756 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2026-35096.
- When was CVE-2026-49756 published?
- CVE-2026-49756 was published on 2026-06-08 and last updated on 2026-08-18.
References
- https://cna.erlef.org/cves/CVE-2026-49756.html
- https://github.com/wojtekmach/req/commit/74506ff2c5addf74df85d79dc726e9b2e264a8ba
- https://github.com/wojtekmach/req/security/advisories/GHSA-px9f-whj3-246m
- https://osv.dev/vulnerability/EEF-CVE-2026-49756
Affected products (1)
- cpe:2.3:a:wojtekmach:req:*:*:*:*:*:*:*:*
More vulnerabilities in Wojtekmach Req
- CVE-2026-49755 — High (CVSS 7.5): Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in wojtekmach Req allows…
All CVEs affecting Wojtekmach Req →
Other CWE-93 (CRLF Injection) vulnerabilities
- CVE-2026-77550 — Critical (CVSS 10.0): A malicious actor with access to the network could exploit an Improper Neutralization of CRLF Sequences vulnerability…
- CVE-2024-51501 — Critical (CVSS 10.0): Refit is an automatic type-safe REST library for .NET Core, Xamarin and .NET The various header-related Refit…
- CVE-2026-100717 — Critical (CVSS 9.9): froxlor is a server administration panel. In versions 2.3.10 and earlier, Validate::validateUrl rejects carriage return…
- CVE-2026-90937 — Critical (CVSS 9.9): froxlor versions before 2.2.5 fail to validate newline characters in subdomain redirect URLs, allowing authenticated…
- CVE-2026-70615 — Critical (CVSS 9.9): boringproxy through 0.10.0 contains a newline injection vulnerability that allows authenticated low-privileged users…
- CVE-2026-45372 — Critical (CVSS 9.9): cpp-httplib is a C++11 single-file header-only cross platform HTTP/HTTPS library. Prior to 0.44.0, when cpp-httplib's…