CVE-2026-12143

form-data does not escape CR/LF/quote in multipart field names and filenames (CRLF injection)

HIGH
7.5
CVSS Score
Published: June 12, 2026 at 06:01 PM UTC
Updated: September 11, 2026 at 01:50 PM UTC
17 products affected across 2 vendorsEnterprise LinuxOpenShift Container PlatformSatellite

Using form-data by form-data?

Get instant alerts when new vulnerabilities affect form-data - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
HIGH7.5
Exploit prediction
EPSS 0.7%
SSVC
PoC

Description

form-data is a library for creating readable multipart/form-data streams. In versions through 4.0.5, the `field` argument to `FormData#append` and the `filename` option are concatenated verbatim into the `Content-Disposition` header without escaping carriage return (CR), line feed (LF), or double-quote (") characters. An application that passes attacker-controlled data as a field name or filename (for example, an API gateway that turns JSON object keys into multipart field names) allows the attacker to terminate the header line and inject additional headers, or to smuggle entire additional multipart parts, into the request the application forwards to a backend. This can let the attacker add or override form fields (e.g. set `is_admin=true`) seen by the downstream parser. This is an instance of CWE-93 (CRLF injection). The fix escapes CR, LF, and `"` as `%0D`, `%0A`, and `%22` in field names and filenames, matching the serialization browsers use per the WHATWG HTML multipart/form-data encoding algorithm. Exploitation requires the consuming application to use untrusted input as a field name or filename; applications that use only fixed/trusted field names are not affected. Fixed in 2.5.6, 3.0.5, and 4.0.6.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

v < 2.5.63.0.0 ≤ v < 3.0.54.0.0 ≤ v < 4.0.63.0.04.0.0
Affected range stops below 2.5.6, so it looks safe — our inference, not a vendor statement
Affected range stops below 3.0.5, so it looks safe — our inference, not a vendor statement
Affected range stops below 4.0.6, so it looks safe — our inference, not a vendor statement
Vendor states this is fixed in 2 (unaffected)
Vendor states this is fixed in 0:2.6.13-1.el9ap (unaffected)
Vendor states this is fixed in 1787047114 (unaffected)
Vendor states this is fixed in 1787218409 (unaffected)
Vendor states this is fixed in 1787219751 (unaffected)
Vendor states this is fixed in 1788943531 (unaffected)
Vendor states this is fixed in 2 (unaffected)
Vendor states this is fixed in 0:1.1.2-1.el10_2 (unaffected)
Vendor states this is fixed in 10 (unaffected)
Vendor states this is fixed in 7 (unaffected)
Vendor states this is fixed in 8 (unaffected)
Vendor states this is fixed in 9 (unaffected)
Vendor states this is fixed in 8 (unaffected)

SSVC — Action Prioritization

SSVCPoCAutomatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

7.5HIGHharborist
Attack Vector
NETWORK
Complexity
LOW
Privileges
NONE
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
HIGH
Availability
NONE
Vector?

Quick Info

StatusAWAITING ANALYSIS
CWE
CWE-93

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card