CVE-2026-48596
Received Received - Intake
HTTP Header Injection in Tesla HTTP Client Library

Publication date: 2026-06-02

Last updated on: 2026-06-02

Assigner: EEF

Description
Improper Neutralization of CRLF Sequences in HTTP Headers ('HTTP Request/Response Splitting') vulnerability in elixir-tesla tesla allows HTTP header injection via Tesla.Multipart.add_content_type_param/2. Tesla.Multipart.add_content_type_param/2 appends caller-supplied strings to the multipart content_type_params list without validating for CR (\r) or LF (\n) characters. Tesla.Multipart.headers/1 then joins these params verbatim with "; " to construct the outgoing Content-Type header value. A param containing \r\n splits the header line, allowing arbitrary headers to be injected into the outbound HTTP request. Any application that forwards untrusted input (such as a user-supplied charset or parameter string) into add_content_type_param/2 is affected. This issue affects tesla: from 0.8.0 before 1.18.3.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-06-02
Last Modified
2026-06-02
Generated
2026-06-03
AI Q&A
2026-06-02
EPSS Evaluated
N/A
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
elixir-tesla tesla From 0.8.0 (inc) to 1.18.3 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-113 The product receives data from an HTTP agent/component (e.g., web server, proxy, browser, etc.), but it does not neutralize or incorrectly neutralizes CR and LF characters before the data is included in outgoing HTTP headers.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-48596 is a CRLF injection vulnerability in the Tesla.Multipart.add_content_type_param/2 function of the elixir-tesla library. This function appends user-supplied strings to the multipart content_type_params list without validating for carriage return (CR) or line feed (LF) characters.

Because Tesla.Multipart.headers/1 joins these parameters verbatim with "; ", any parameter containing \r\n can split the HTTP header line, allowing an attacker to inject arbitrary HTTP headers into outbound requests.

Applications that forward untrusted input, such as user-supplied charset or parameter strings, into add_content_type_param/2 are vulnerable. The issue affects Tesla versions from 0.8.0 before 1.18.3 and was fixed in version 1.18.3.


How can this vulnerability impact me? :

This vulnerability allows an attacker to inject arbitrary HTTP headers into outbound HTTP requests by exploiting the improper neutralization of CRLF sequences.

Such header injection can lead to HTTP request smuggling or header forgery attacks against upstream servers, potentially manipulating how requests are processed or interpreted.

However, the severity is rated as low (CVSS v4.0 score 2.1) because exploitation requires control over content-type parameter values, and the impact is limited to outbound request manipulation.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves HTTP header injection via unvalidated CRLF sequences in the Content-Type header parameters. Detection involves monitoring outbound HTTP requests for suspicious or malformed headers that include unexpected line breaks or injected headers.

Since the vulnerability arises from the Tesla.Multipart.add_content_type_param/2 function appending unvalidated strings, you can detect exploitation attempts by inspecting HTTP traffic for headers containing CR (\r) or LF (\n) characters or unexpected header splitting.

Suggested commands to detect this on your system or network include using network traffic analysis tools such as tcpdump or Wireshark to capture HTTP requests and filter for suspicious Content-Type headers.

  • Using tcpdump to capture HTTP traffic on port 80 or 443 (if unencrypted): tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
  • Using Wireshark, apply a display filter for HTTP headers containing CR or LF characters or unexpected header lines.

Additionally, reviewing application logs or adding instrumentation to log parameters passed to Tesla.Multipart.add_content_type_param/2 can help detect if untrusted input containing CR or LF characters is being used.


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, immediately validate and sanitize any user-supplied input passed to Tesla.Multipart.add_content_type_param/2 to ensure it does not contain carriage return (\r) or line feed (\n) characters.

Reject or sanitize any content-type parameter strings that include CR or LF characters before passing them to the vulnerable function.

Upgrade the Tesla library to version 1.18.3 or later, where this vulnerability has been fixed by enforcing strict input validation according to RFC 7230 and RFC 7231 standards.

  • Implement input validation functions that reject control characters, semicolons, empty strings, and other invalid tokens in content-type parameters.
  • Review and update your code to avoid forwarding untrusted input directly into Tesla.Multipart.add_content_type_param/2.

These steps will prevent HTTP header injection and protect your application from request smuggling or header forgery attacks.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart