CVE-2026-32873 json
ewe: Loop with Unreachable Exit Condition ('Infinite Loop')
published 2026-03-16 7 mo ago modified 2026-06-17 4 mo ago also EUVD-2026-13428 , GHSA-4w98-xf39-23gp
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
ewe is a Gleam web server. Versions 0.8.0 through 3.0.4 contain a bug in the handle_trailers function where rejected trailer headers (forbidden or undeclared) cause an infinite loop. When handle_trailers encounters such a trailer, three code paths (lines 520, 523, 526) recurse with the original buffer (rest) instead of advancing past the rejected header (Buffer(header_rest, 0)), causing decoder.decode_packet to re-parse the same header on every iteration. The resulting loop has no timeout or escape — the BEAM process permanently wedges at 100% CPU. Any application that calls ewe.read_body on chunked requests is affected, and this is exploitable by any unauthenticated remote client before control returns to application code, making an application-level workaround impossible. This issue is fixed in version 3.0.5.
Patch / fix
- hex ewe 3.0.5
- vshakitskiy ewe 3.0.5
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.62% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
Exploits and checks
- github.com https://github.com/vshakitskiy/ewe/security/advisories/GHSA-4w98-xf39-23gp referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| hex | ewe | >=0.8.0, <3.0.5 |
3.0.5 |
Affected products
- vshakitskiy ewe
Classification
References
-
github.com
/vshakitskiy/ewe/commit/8513de9dcdd0005f727c0f6f15dd89f8d626f560
web, patch
-
github.com
/vshakitskiy/ewe/commit/d8b9b8a86470c0cb5696647997c2f34763506e37
web, patch
-
github.com
/vshakitskiy/ewe/security/advisories/GHSA-4w98-xf39-23gp
exploit, web, patch, vendor-advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-32873
advisory
-
github.com
/vshakitskiy/ewe
package
Sources
- CVE List CVE-2026-32873
- GitHub Advisory GHSA-4w98-xf39-23gp
- NVD CVE-2026-32873
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.