
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-67899 is an uncontrolled recursion (stack overflow) vulnerability in uriparser, a URI parsing library, affecting all versions through 0.9.9. The flaw was reported on December 6, 2025, publicly disclosed on December 14–15, 2025, and fixed in uriparser 1.0.0 released on December 15, 2025. It carries a CVSS v3.1 base score of 2.9 (Low), reflecting a local attack vector with high complexity and limited availability impact (GitHub Issue, oss-security).
The vulnerability is classified as CWE-674 (Uncontrolled Recursion). The uriparser library's URI parsing functions — including ParseMustBeSegmentNzNc, ParseHexZero, ParseOwnHost2, ParsePort, ParseQueryFrag, ParseSegment, and others — used direct and indirect tail recursion without depth limits. When processing a specially crafted URI string containing a large number of comma-separated segments (e.g., thousands of 1, repetitions), the recursive calls exhaust the call stack, causing a stack overflow and crash. The fix in PR #284 dissolved all 13 identified cases of direct and indirect recursion in UriParse.c, replacing them with iterative constructs using goto-based loops (GitHub Issue, GitHub PR).
Successful exploitation results in a denial of service (DoS) via application crash due to stack exhaustion. The impact is limited to availability — there is no confidentiality or integrity impact. Any application that passes attacker-controlled URI strings to uriparser's parsing functions (e.g., uriParseUriA) is potentially affected, including downstream software such as PHP's uri extension, which bundled the vulnerable library (GitHub PR, oss-security).
No in-the-wild exploitation has been reported, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.013% (0.000130), indicating very low probability of exploitation in the near term. A proof-of-concept reproducer was included in the original bug report (a C program passing a long comma-separated string to uriParseUriA), making the trigger trivial to replicate, but exploitation requires local access or the ability to supply input to an application using uriparser (GitHub Issue, Feedly).
uriParseUriA or uriParseUriW.1, repetitions), which triggers the ParseMustBeSegmentNzNc recursive parsing path.ParseMustBeSegmentNzNc, ParseSegment, ParseQueryFrag, or other uriparser internal functions in the stack trace.Upgrade uriparser to version 1.0.0 or later, which resolves all identified direct and indirect recursion in the parser by converting recursive functions to iterative equivalents. No configuration-based workaround is available for the library itself; however, applications can mitigate risk by validating and limiting the length of URI inputs before passing them to uriparser. Downstream consumers such as PHP should update their bundled uriparser copy — PHP's uri extension was patched on December 15, 2025 to import the fix (oss-security, GitHub PR).
The uriparser maintainer (Sebastian Pipping / hartwork) coordinated the fix and release publicly via oss-security, noting that uriparser 1.0.0 was timed to coincide with CVE assignment. Contributor TimWolla provided detailed code review of the fix and promptly updated PHP's bundled uriparser copy. The fix was also picked up by Linux distributions including Fedora, openSUSE, and Slackware, which issued updated packages shortly after the release (oss-security, GitHub PR).
Fix availability across major Linux distributions and their releases.
bionic (esm-apps)
uriparser: 0.8.4-1+deb9u2ubuntu0.1+esm2
devel
uriparser
focal (esm-apps)
uriparser: 0.9.3-2ubuntu0.1~esm4
jammy
uriparser
jammy (esm-apps)
uriparser: 0.9.6+dfsg-1ubuntu0.1~esm2
noble
uriparser
noble (esm-apps)
uriparser: 0.9.7+dfsg-2ubuntu0.1~esm2
resolute
uriparser
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."