CVE-2026-48598 json
CRLF injection in Tesla.Multipart disposition parameters allows multipart part header injection
published 2026-06-02 5 mo ago modified 2026-09-24 45 d ago also EEF-CVE-2026-48598 , EUVD-2026-34012 , GHSA-28jh-g32x-v9v4
- cvss
- 3.7
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 19%
- public exploits
- 0
- none known
Summary
Improper Encoding or Escaping of Output vulnerability in elixir-tesla tesla allows multipart part header injection via unescaped Content-Disposition parameter values.
Tesla.Multipart.part_headers_for_disposition/1 interpolates each disposition parameter as #{k}="#{v}" with no validation of CR (\r), LF (\n), or double-quote characters. The values come verbatim from the caller via Tesla.Multipart.add_field/4 (the name parameter), Tesla.Multipart.add_file/3, and Tesla.Multipart.add_file_content/4 (both the filename parameter and other disposition opts). A " in the value closes the quoted parameter early; a \r\n ends the Content-Disposition header line and starts a new part header (such as a forged Content-Type), or, after a second \r\n, ends the entire part header block and prepends bytes to the part body. The default-filename path in add_file/3 derives the filename via Path.basename/1, which does not strip CR or LF, so any application forwarding a partially-attacker-controlled file path inherits the same issue.
This issue affects tesla: from 0.8.0 before 1.18.3.
Patch / fix
- hex tesla 1.18.3
- elixir-tesla tesla 1.18.3
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.27% chance of exploitation in the next 30 days, higher than 19% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/elixir-tesla/tesla/security/advisories/GHSA-28jh-g32x-v9v4 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N |
| CNA | 4.0 | 2.1 | CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | tesla | >=0.8.0, <1.18.3 |
1.18.3 |
Affected products
- elixir-tesla tesla
Classification
- Weakness
-
- CWE-116 Improper Encoding or Escaping of Output
References
-
github.com
/elixir-tesla/tesla/commit/6ebfdb9abe9c6f119408045b933d82462decd351
related, web
-
github.com
/elixir-tesla/tesla/commit/bb1a2c3da2775924d96e3db8e315dcc4d5d2246e
patch, web
-
github.com
/elixir-tesla/tesla/security/advisories/GHSA-28jh-g32x-v9v4
vendor-advisory, related, exploit, web, advisory
-
cna.erlef.org
/cves/CVE-2026-48598.html
related, web, mitigation, third-party-advisory
-
osv.dev
/vulnerability/EEF-CVE-2026-48598
related, web, third-party-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-48598
advisory
-
github.com
/elixir-tesla/tesla
package
-
hex.pm
/packages/tesla
package
Sources
- CVE List CVE-2026-48598
- GitHub Advisory GHSA-28jh-g32x-v9v4
- NVD CVE-2026-48598
- OSV EEF-CVE-2026-48598
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.