Am I affected?

type your mint version to check

Description

Allocation of Resources Without Limits or Throttling vulnerability in elixir-mint mint allows a remote HTTP server to exhaust memory on the client host and cause a denial of service.

Two HTTP/1 response-parser states accumulate server data without any cap. In lib/mint/http1.ex, decode_status_line/4 stores the unconsumed data in conn.buffer when the status line is incomplete, and decode_body/5 does the same for an unterminated chunk-extension line. Both wait for a CRLF the server never has to send, and conn.buffer is prepended to every subsequent socket message. The :max_header_list_size budget is wired only into decode_headers/5 and decode_trailer_headers/4, so neither of these states is covered by it. A malicious server, or one reached through an attacker-controlled redirect or a fetched URL, streams bytes indefinitely until the BEAM node is killed by the operating system out-of-memory handler. The chunk-extension variant is reached after a valid status line and a complete, valid header section, so an intermediary inspecting only headers sees an ordinary 200 response.

This issue affects mint: from 0.1.0 before 1.10.0.

Weaknesses & attack patterns

Weakness

CWE-770 · Allocation of Resources Without Limits or Throttling in catalog → MITRE ↗

Attack patterns

CAPEC-130 · Excessive Allocation MITRE ↗

Affected — Hex / mint Hex.pm ↗ Repository ↗

0.1.0 < 1.10.0 affected
every other version: unaffected
cpe cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.Mint.HTTP1'
source files lib/mint/http1.ex
routines 'Elixir.Mint.HTTP1':decode_status_line/4 · 'Elixir.Mint.HTTP1':decode_body/5

Affected — GitHub / elixir-mint/mint Repository ↗

c088e4b < 19be555 affected
every other version: unaffected
cpe cpe:2.3:a:elixir-mint:mint:*:*:*:*:*:*:*:*
modules · source files · routines
modules 'Elixir.Mint.HTTP1'
source files lib/mint/http1.ex
routines 'Elixir.Mint.HTTP1':decode_status_line/4 · 'Elixir.Mint.HTTP1':decode_body/5

References

Credits

Tr3bor Finder Reporter
Andrea Leopardi Remediation developer
Jonatan Männchen / EEF Coordinator

CVSS breakdown

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
« All CVEs