CVE-2026-48594: Decompression bomb in Tesla.Middleware.DecompressResponse and Tesla.Middleware.Compression
Improper Handling of Highly Compressed Data (Data Amplification) vulnerability in elixir-tesla tesla allows a denial of service via decompression bomb in HTTP response bodies. When Tesla.Middleware.DecompressResponse or Tesla.Middleware.Compression is included in a Tesla middleware pipeline, HTTP response bodies are decompressed eagerly with no size limit. The decompress_body/2 function in lib/tesla/middleware/compression.ex passes the entire response body to :zlib.gunzip/1 or :zlib.unzip/1 without any cap on the output size. Additionally, compression_algorithms/1 splits the content-encoding header on commas and decompress_body/2 recurses once per token, applying a decompression pass on each iteration. A server advertising content-encoding: gzip, gzip, gzip, gzip causes four recursive decompression passes, yielding exponential amplification: each gzip layer can expand its input roughly 1000x, so a payload of a few hundred bytes on the wire inflates to gigabytes of BEAM heap, exhausting memory and crashing or freezing the calling process. This issue affects tesla: from 0.6.0 before 1.18.3.
Metrics
- CVSS v4.0
- 8.2
- Severity
- HIGH
- Fixed in
- 1.18.3
- Affected Products
- 2
HarborGuard Analysis
Synopsis
A decompression bomb vulnerability in the elixir-tesla HTTP client library (versions 0.6.0 through 1.18.3) allows a malicious or compromised remote server to exhaust the memory of any Elixir process using the Tesla.Middleware.DecompressResponse or Tesla.Middleware.Compression middleware. The vulnerability is exploitable over the network with no authentication required: the attacker controls an HTTP server that returns a response with stacked content-encoding headers (e.g., gzip repeated multiple times), triggering recursive decompression passes that amplify a few hundred bytes on the wire into gigabytes on the BEAM heap. Successful exploitation crashes or freezes the calling process, causing a denial of service. A patched-image rebuild at version 1.18.3 is available on HarborGuard for environments running an affected version.
HarborGuard Coverage
Detection of CVE-2026-48594 is available across every HarborGuard environment: the CVE is ingested from upstream advisory feeds within minutes of publication and matched against all customer images, including custom-built Elixir images that bundle the tesla library. Any image with a tesla dependency in the affected version range (0.6.0 before 1.18.3) is flagged automatically.
AvailableHarborGuard is capable of scoring this CVE at CVSS 8.2 (HIGH) and weighting the result against each environment's compliance policy to determine priority. Triage findings are routed to the appropriate team inbox within each customer organization based on configured ownership rules.
AvailableA patched-image rebuild pinned to tesla 1.18.3 (commit 340f75b5d191dc747ef7ac6365bd002d1cd55a9d) becomes available on HarborGuard for any image found to carry an affected version. For customers who opt into auto-remediation, HarborGuard performs the rebuild, runs regression tests, and opens a pull request against affected workloads automatically.
AvailableExploit Conditions
- Network reachabilityRequired
The attacker must operate or control an HTTP server reachable over the network by the application using tesla, since the malicious payload is delivered in an HTTP response body.
- AuthenticationNot required
No authentication is needed; the vulnerability is triggered by any HTTP response the tesla client receives, regardless of whether the upstream endpoint requires credentials.
- Victim interactionNot required
No user interaction is required; the vulnerable decompression path executes automatically when the tesla middleware processes an incoming response.
- Attack complexityDetail
The exploit is reliable in principle (AC:L), but an attacker-controlled precondition is needed (AT:P): the calling application must make an outbound HTTP request to a server the attacker controls or can influence, such as a third-party API endpoint that has been compromised.
Blast Radius
- Crashes or freezes the Elixir process making the HTTP request, taking that process out of service for the duration of the attack.
- Heap exhaustion on the BEAM VM can propagate beyond the calling process, destabilizing or crashing the entire OTP application if memory limits are reached.
- Availability of any feature or service that depends on the affected tesla client is disrupted; there is no confidentiality or data-integrity impact.
How HarborGuard Handles This
Available on HarborGuard: images carrying elixir-tesla versions 0.6.0 through below 1.18.3 are matched against this CVE automatically, with no manual scan configuration needed. For customers who opt into auto-remediation, HarborGuard rebuilds the image at tesla 1.18.3, runs the configured regression suite, and opens a pull request against affected workloads; median time from CVE publication to merged patch PR for high-severity issues is around 90 minutes for environments with auto-remediation enabled. Where compliance policy requires manual review before merging, the rebuilt image and regression results are staged and the finding is routed to the designated owner inbox. While the upstream fix is definitive, compensating controls for environments that cannot immediately upgrade include network-policy rules that restrict which external HTTP endpoints the application is permitted to reach, reducing exposure to attacker-controlled servers that could deliver the malicious response.
- elixir-tesla / tesla< 1.18.3 (from 0.6.0)
- elixir-tesla / tesla< 340f75b5d191dc747ef7ac6365bd002d1cd55a9d (from 5bd90bb5cf0d15e375edc2a66fa322292940fce2)
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N