Uncontrolled resource consumption in boazsegev facil.io
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-400.
Summary
facil.io is a C micro-framework for web applications. Prior to commit 5128747363055201d3ecf0e29bf0a961703c9fa0, `fio_json_parse` can enter an infinite loop when it encounters a nested JSON value starting with `i` or `I`. The process spins in user space and pegs one CPU core at ~100% instead of returning a parse error. Because `iodine` vendors the same parser code, the issue also affects `iodine` when it parses attacker-controlled JSON. The smallest reproducer I found is `[i`. The quoted-value form that originally exposed the issue, `[""i`, reaches the same bug because the parser tolerates missing commas and then treats the trailing `i` as the start of another value. Commit 5128747363055201d3ecf0e29bf0a961703c9fa0 fixes the issue.
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 |
|---|---|---|---|---|---|
| boazsegev | facil.io | before 5128747363055201d3ecf0e29bf0a961703c9fa0 | 5128747363055201d3ecf0e29bf0a961703c9fa0 | Patch available | CNA |
| boazsegev | iodine | before 0.7.59 | 0.7.59 | Patch available | CNA |
| — | iodine (RubyGems) | up to 0.7.58 | — | No fix listed | GHSA-2x79-gwq3-vxxm |
- facil.io Vendorboazsegev Affected before 5128747363055201d3ecf0e29bf0a961703c9fa0 Fixed in 5128747363055201d3ecf0e29bf0a961703c9fa0 Patch available CNA
- iodine Vendorboazsegev Affected before 0.7.59 Fixed in 0.7.59 Patch available CNA
- iodine (RubyGems) Vendor— Affected up to 0.7.58 Fixed in — No fix listed GHSA-2x79-gwq3-vxxm
Remediation
- Fix · CNA facil.io (boazsegev) Fixed in 5128747363055201d3ecf0e29bf0a961703c9fa0
- Fix · CNA iodine (boazsegev) Fixed in 0.7.59
Timeline
- 2026-10-02 Threatist record created from CVE-2026-41146
- 2026-10-03 Alias added: GHSA-2x79-gwq3-vxxm
References
More boazsegev vulnerabilities
- TI-2026-47389 facil.io 0.7.5 - 0.7.6 HTTP/1.1 Chunked Transfer Encoding Parser Crash DoS CVSS 4.0HIGH 8.7
- TI-2026-47388 facil.io 0.6.0 - 0.7.6 Infinite Loop DoS via Multipart MIME Body Parser CVSS 4.0HIGH 8.7
- TI-2026-47387 facil.io 0.6.0 - 0.7.6 Integer Underflow DoS via Multipart MIME Body Parser CVSS 4.0HIGH 8.7
- TI-2026-13899 boazsegev facil.io Public Folder http.c http_sendfile2 path traversal CVSS 4.0MEDIUM 6.9
- TI-2026-13880 boazsegev facil.io WebSocket Frame websocket_parser.h websocket_on_protocol_error input validation CVSS 4.0MEDIUM 6.9
- TI-2024-14668 Iodine Static File Server Path Traversal Vulnerability CVSS 3.1HIGH 7.5
Sources
- CVE-2026-41146 · CVE Program
- CVE-2026-41146 · NVD
- FIRST EPSS
- GHSA-2x79-gwq3-vxxm · 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