You are viewing this page in an unauthorized frame window.
This is a potential security issue, you are being redirected to
https://nvd.nist.gov
An official website of the United States government
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
Secure .gov websites use HTTPS
A lock () or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.
This CVE record has been marked for NVD enrichment efforts.
Description
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
NVD enrichment efforts reference publicly available information to associate
vector strings. CVSS information contributed by other sources is also
displayed.
By selecting these links, you will be leaving NIST webspace.
We have provided these links to other web sites because they
may have information that would be of interest to you. No
inferences should be drawn on account of other sites being
referenced, or not, from this page. There may be other web
sites that are more appropriate for your purpose. NIST does
not necessarily endorse the views expressed, or concur with
the facts presented on these sites. Further, NIST does not
endorse any commercial products that may be mentioned on
these sites. Please address comments about this page to [email protected].
Title: tesla de elixir-tesla, Description: Vulnerabilidad de Manejo Inadecuado de Datos Altamente Comprimidos (Amplificación de Datos) en elixir-tesla tesla permite una denegación de servicio a través de una bomba de descompresión en los cuerpos de respuesta HTTP.
Cuando Tesla.Middleware.DecompressResponse o Tesla.Middleware.Compression se incluye en una tubería de middleware de Tesla, los cuerpos de respuesta HTTP se descomprimen de forma ávida sin límite de tamaño. La función decompress_body/2 en lib/tesla/middleware/compression.ex pasa el cuerpo completo de la respuesta a :zlib.gunzip/1 o :zlib.unzip/1 sin ningún límite en el tamaño de salida. Además, compression_algorithms/1 divide el encabezado content-encoding por comas y decompress_body/2 recurre una vez por token, aplicando un paso de descompresión en cada iteración. Un servidor que anuncia content-encoding: gzip, gzip, gzip, gzip causa cuatro pases de descompresión recursivos, lo que resulta en una amplificación exponencial: cada capa gzip puede expandir su entrada aproximadamente 1000 veces, por lo que una carga útil de unos pocos cientos de bytes en la red se infla a gigabytes de pila BEAM, agotando la memoria y bloqueando o congelando el proceso de llamada.
Este problema afecta a tesla: desde 0.6.0 antes de 1.18.3.
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.