CVE-2026-12143
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 33 - wyżej niż 33% wszystkich znanych CVE
Streszczenie
Biblioteka form-data do tworzenia strumieni multipart/form-data jest podatna na iniekcję nagłówków CRLF. Atakujący może wstrzyknąć znaki CR, LF lub cudzysłów w nazwie pola lub pliku, co pozwala na dodanie dodatkowych nagłówków lub części multipart do żądania.
Ocena ryzyka
Ryzyko polega na możliwości modyfikacji żądań HTTP przesyłanych do backendu, np. dodania pól takich jak `is_admin=true`, co może prowadzić do eskalacji uprawnień lub ominięcia kontroli dostępu.
Rekomendacja
Należy niezwłocznie zaktualizować bibliotekę form-data do wersji 2.5.6, 3.0.5 lub 4.0.6. Jeśli aktualizacja nie jest możliwa, należy unikać przekazywania niezaufanych danych jako nazw pól lub plików.
Oryginalny opis (angielski, źródło NVD)
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.

