Severity by source
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
Primary rating from NVD · only source for this CVE.
CVSS VectorNVD
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
Lifecycle Timeline
3DescriptionCVE.org
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.
AnalysisAI
{k}="#{v}" with no validation of CR, LF, or double-quote characters, enabling a crafted value to close the quoted parameter early, forge headers like Content-Type, or corrupt the part body. No public exploit is identified at time of analysis, and the CVSS 4.0 score of 2.1 (SI:L only) reflects a narrow integrity impact confined to the downstream system receiving the forged multipart payload.
Technical ContextAI
Tesla is an HTTP client adapter library for Elixir, widely used to compose HTTP requests with middleware. The affected code is in Tesla.Multipart (lib/tesla/multipart.ex), specifically the part_headers_for_disposition/1 function, which constructs Content-Disposition header parameters by string interpolation without sanitization. CWE-116 (Improper Encoding or Escaping of Output) precisely describes the root cause: untrusted values are embedded into a structured output format (MIME multipart headers) without escaping the characters that delimit that format - namely CR (\r), LF (\n), and double-quote ("). Three entry points are affected per CPE cpe:2.3:a:elixir-tesla:tesla:*:*:*:*:*:*:*:*: add_field/4 (the name parameter), add_file/3, and add_file_content/4 (both the filename parameter and arbitrary disposition opts). Notably, the default-filename code path in add_file/3 derives the filename via Elixir's Path.basename/1, which does not strip CR or LF, so any application forwarding a partially-attacker-controlled file path is also exposed through that code path.
RemediationAI
The primary fix is to upgrade elixir-tesla Tesla to version 1.18.3 or later, which introduces the assert_disposition_value!/2 validation function that raises ArgumentError if any disposition parameter value contains CR, LF, or double-quote characters. The patch is confirmed at commit bb1a2c3da2775924d96e3db8e315dcc4d5d2246e (https://github.com/elixir-tesla/tesla/commit/bb1a2c3da2775924d96e3db8e315dcc4d5d2246e). Callers should note that after patching, passing filenames or field names containing these characters will raise at runtime rather than silently producing malformed requests - applications should add upstream input validation or sanitization to strip or reject CR, LF, and double-quote in any user-supplied strings before passing them to Tesla.Multipart.add_field/4, add_file/3, or add_file_content/4. As a compensating control for teams unable to upgrade immediately, applications can sanitize multipart parameter values by explicitly removing or rejecting \r, \n, and " characters at the point where user-controlled data enters the multipart construction code. This is preferable to disabling multipart functionality entirely, which may break application features.
Tesla Model 3 V11.0(2022.4.5.1 6b701552d7a6) Tesla mobile app v4.23 is vulnerable to Authentication Bypass by spoofing.
Denial-of-service in elixir-tesla Tesla versions 0.6.0 through 1.18.2 allows remote servers to crash or freeze calling E
Denial of service in the Elixir Tesla HTTP client (versions 1.3.0 through 1.18.2) when using the Tesla.Adapter.Mint adap
Race condition in NVIDIA GPU Display Driver for Linux allows a high-privileged local attacker to leak sensitive kernel o
Race condition exploitation in NVIDIA Display Driver's Linux kernel module allows a local authenticated user to cause de
HTTP header injection in the Tesla Elixir HTTP client library (versions 0.8.0 through before 1.18.3) allows untrusted in
Same weakness CWE-116 – Improper Encoding or Escaping of Output
View allSame technique Code Injection
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-34012
GHSA-28jh-g32x-v9v4