CVE-2026-41146
HIGHfacil.io and downstream iodine ruby gem vulnerable to uncontrolled resource consumption and loop with unreachable exit condition
Title source: cnaDescription
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.
References (2)
Core 2
Core References
X_Refsource_Confirm x_refsource_confirm
https://github.com/boazsegev/facil.io/security/advisories/GHSA-2x79-gwq3-vxxm
X_Refsource_Misc x_refsource_misc
https://github.com/boazsegev/facil.io/commit/5128747363055201d3ecf0e29bf0a961703c9fa0
Scores
CVSS v4
8.7
EPSS
0.0029
EPSS Percentile
20.9%
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CISA SSVC
Vulnrichment
Exploitation
poc
Automatable
yes
Technical Impact
partial
Details
CWE
CWE-400
CWE-835
Status
published
Products (3)
boazsegev/facil.io
< 5128747363055201d3ecf0e29bf0a961703c9fa0
boazsegev/iodine
< 0.7.59
rubygems/iodine
0 - 0.7.58RubyGems
Published
Apr 22, 2026
Tracked Since
Apr 22, 2026