ewe: Loop with Unreachable Exit Condition ('Infinite Loop')
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-835.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| vshakitskiy | ewe | 0.8.0 to before 3.0.5 | 3.0.5 | Patch available | CNA |
| — | ewe (Hex) | 0.8.0 to before 3.0.5 | 3.0.5 | Patch available | GHSA-4w98-xf39-23gp |
- ewe Vendorvshakitskiy Affected 0.8.0 to before 3.0.5 Fixed in 3.0.5 Patch available CNA
- ewe (Hex) Vendor— Affected 0.8.0 to before 3.0.5 Fixed in 3.0.5 Patch available GHSA-4w98-xf39-23gp
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:vshakitskiy:ewe:*:*:*:*:*:*:*:* | 0.8.0 to before 3.0.5 | Vulnerable | vshakitskiy |
- cpe:2.3:a:vshakitskiy:ewe:*:*:*:*:*:*:*:* Versions 0.8.0 to before 3.0.5 Vulnerable ·vshakitskiy
Remediation
- Fix · CNA ewe (vshakitskiy) Fixed in 3.0.5
- Fix · GHSA-4w98-xf39-23gp ewe (Hex) Fixed in 3.0.5 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-32873
- 2026-10-03 Alias added: GHSA-4w98-xf39-23gp
- 2026-10-18 EPSS moved to the 50th–90th percentile
- 2026-10-25 EPSS moved to the below the 50th percentile
- 2026-11-06 EPSS moved to the 50th–90th percentile
References
Patch 2
More vshakitskiy Ewe vulnerabilities
- TI-2026-26959 ewe Has Improper Neutralization of CRLF Sequences in HTTP Headers (HTTP Request/Response Splitting) CVSS 3.1MEDIUM 5.3
- TI-2026-25340 ewe has an Overly Permissive List of Allowed Inputs CVSS 3.1MEDIUM 5.3
Sources
- CVE-2026-32873 · CVE Program
- CVE-2026-32873 · NVD
- FIRST EPSS
- GHSA-4w98-xf39-23gp · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences