CVE-2026-68750: CWE-407 Inefficient Algorithmic Complexity in rrrene html_sanitize_ex
Inefficient Algorithmic Complexity vulnerability in the traversal engine in rrrene html_sanitize_ex allows an unauthenticated remote attacker to exhaust server CPU and memory via a flat run of sibling elements in sanitized HTML. The list clause of HtmlSanitizeEx.Traverser.traverse/2 recurses on the tail of a sibling list and then evaluates List.flatten([head] ++ tail) over the already flattened result, so every one of n siblings copies and re-walks the entire remaining tail. The flattening is only needed for the rare case where scrub returns several replacement nodes for one node, but the cost is paid across the whole tail at every step, making traversal quadratic in sibling count. The traverser sits on every public entry point, so no particular scrubber or configuration is required and the payload needs only allowed tags. A 160 KB body of 20,000 sibling elements occupies a scheduler for roughly 1.7 seconds, and the cost grows faster than the body does. This issue affects html_sanitize_ex: from 0.3.1 before 1.4.5 and from 1.5.0-rc.0 before 1.5.3.
AI Analysis
Technical Summary
The vulnerability arises from the traversal engine in rrrene's html_sanitize_ex library, specifically in the HtmlSanitizeEx.Traverser.traverse/2 function. This function recursively processes the tail of sibling elements and applies List.flatten on the concatenation of the head and tail, causing repeated copying and re-walking of the tail. This results in quadratic time complexity relative to the number of sibling elements. The traversal engine is invoked on every public entry point without requiring specific scrubber configurations, meaning an attacker only needs to supply allowed tags. For example, a payload with 20,000 sibling elements can occupy a scheduler for approximately 1.7 seconds, with resource consumption growing faster than the input size. The affected versions are from 0.3.1 before 1.5.3.
Potential Impact
An unauthenticated remote attacker can exploit this vulnerability to cause denial of service by exhausting server CPU and memory resources. The inefficient traversal leads to excessive computation time and memory usage, potentially degrading or disrupting service availability.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch information is provided in the available data. Users should monitor the vendor's announcements for updates and consider limiting the size or complexity of HTML inputs as a temporary measure.
CVE-2026-68750: CWE-407 Inefficient Algorithmic Complexity in rrrene html_sanitize_ex
Description
Inefficient Algorithmic Complexity vulnerability in the traversal engine in rrrene html_sanitize_ex allows an unauthenticated remote attacker to exhaust server CPU and memory via a flat run of sibling elements in sanitized HTML. The list clause of HtmlSanitizeEx.Traverser.traverse/2 recurses on the tail of a sibling list and then evaluates List.flatten([head] ++ tail) over the already flattened result, so every one of n siblings copies and re-walks the entire remaining tail. The flattening is only needed for the rare case where scrub returns several replacement nodes for one node, but the cost is paid across the whole tail at every step, making traversal quadratic in sibling count. The traverser sits on every public entry point, so no particular scrubber or configuration is required and the payload needs only allowed tags. A 160 KB body of 20,000 sibling elements occupies a scheduler for roughly 1.7 seconds, and the cost grows faster than the body does. This issue affects html_sanitize_ex: from 0.3.1 before 1.4.5 and from 1.5.0-rc.0 before 1.5.3.
CVSS v4.0
Score 8.2high
Affected software
rrrene
html_sanitize_ex
rrrene
html_sanitize_ex
pkg:hex/html_sanitize_excpe:2.3:a:rrrene:html_sanitize_ex:*:*:*:*:*:*:*:*Run on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability arises from the traversal engine in rrrene's html_sanitize_ex library, specifically in the HtmlSanitizeEx.Traverser.traverse/2 function. This function recursively processes the tail of sibling elements and applies List.flatten on the concatenation of the head and tail, causing repeated copying and re-walking of the tail. This results in quadratic time complexity relative to the number of sibling elements. The traversal engine is invoked on every public entry point without requiring specific scrubber configurations, meaning an attacker only needs to supply allowed tags. For example, a payload with 20,000 sibling elements can occupy a scheduler for approximately 1.7 seconds, with resource consumption growing faster than the input size. The affected versions are from 0.3.1 before 1.5.3.
Potential Impact
An unauthenticated remote attacker can exploit this vulnerability to cause denial of service by exhausting server CPU and memory resources. The inefficient traversal leads to excessive computation time and memory usage, potentially degrading or disrupting service availability.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. No official fix or patch information is provided in the available data. Users should monitor the vendor's announcements for updates and consider limiting the size or complexity of HTML inputs as a temporary measure.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- EEF
- Date Reserved
- 2026-07-31T13:23:00.355Z
- Cvss Version
- 4.0
- State
- PUBLISHED
Threat ID: 6a74ab42bf8831d539ec74f7
Added to database: 08/06/2026, 15:41:54 UTC
Last enriched: 08/13/2026, 17:15:56 UTC
Last updated: 09/19/2026, 13:04:19 UTC
Views: 65
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.