
PEACH
Un cadre d’isolation des locataires
CVE-2026-71429 is a denial-of-service vulnerability in the stream-json npm package (by uhop) caused by quadratic algorithmic complexity (O(D²)) in its path filter functions. The pick, ignore, filter, and replace filters in src/core/filters/filter-base.js recompute the full path string from the nesting stack on every checkable token, meaning a deeply nested JSON document of depth D incurs O(D²) processing cost rather than O(D). All versions up to and including 3.4.0 are affected; version 3.5.0 contains the fix. The vulnerability was first published on July 7, 2026, and added to the GitHub Advisory Database on September 3, 2026, with a CVSS v3.1 base score of 6.2 (Medium) (Github Advisory, Red Hat Bugzilla).
The root cause is CWE-407 (Inefficient Algorithmic Complexity) and CWE-1046 (Creation of Immutable Text Using String Concatenation). In filter-base.js, both stringFilter and regExpFilter call stack.join(separator) on every invocation, which is an O(depth) operation. Since the filter is called once per nesting level for every checkable token, processing a document of depth D results in O(D²) total work. This is triggered purely by document structure (nesting depth), not byte volume — a ~360 KB payload of pure nesting can block the Node.js event loop for approximately 12 seconds, and extrapolating to 1–2 MB reaches single-digit minutes of CPU time per request. The streamArray, streamObject, and streamValues streamers are not affected because they use the constant-time asm.depth getter. A public proof-of-concept is included in the advisory (Github Advisory).
Successful exploitation causes a remote, unauthenticated denial-of-service condition against any Node.js application that processes untrusted JSON through the pick, ignore, filter, or replace filters with a string or RegExp path — the library's primary documented use case. A single crafted request can pin a CPU core and block the Node.js event loop for seconds to minutes, degrading or completely halting the service. There is no confidentiality or integrity impact; the vulnerability is limited to availability (Github Advisory, Red Hat Bugzilla).
A public proof-of-concept is included in the official security advisory and requires no authentication or special privileges to execute. The EPSS score is 0.0 as of the time of disclosure, and there is no evidence of in-the-wild exploitation or inclusion in the CISA KEV catalog. No threat actor attribution has been reported. The attack requires only the ability to send a crafted JSON body to an application using the affected filters (Github Advisory).
stream-json version ≤ 3.4.0 with pick, ignore, filter, or replace filters (e.g., an API endpoint that extracts a field from a JSON body).'{"meta":'.repeat(D) + '1' + '}'.repeat(D). A depth of 40,000 produces a ~360 KB document.Upgrade stream-json to version 3.5.0 or later, which caps JSON nesting depth at 1024 by default and throws a RangeError for inputs exceeding this limit. If upgrading immediately is not possible, consider adding application-level input validation to reject JSON bodies with excessive nesting depth before they reach the stream-json filters. The maxDepth option can be set to a custom value (e.g., pick({ filter: 'data', maxDepth: 100 })), or set to Infinity to disable the limit (not recommended for untrusted input). The streamArray, streamObject, and streamValues APIs are not affected and can be used as alternatives where applicable (Github Advisory, Fix Commit).
The vulnerability was reported by researcher ataberk-xyz and the fix was authored and published by the library maintainer (uhop). Red Hat tracked the issue via their security response process (Bugzilla bug 2528227). No significant broader media coverage or notable social media commentary has been identified beyond standard vulnerability database aggregation (Github Advisory, Red Hat Bugzilla).
Source: Ce rapport a été généré à l’aide de l’IA
Évaluation gratuite des vulnérabilités
Évaluez vos pratiques de sécurité cloud dans 9 domaines de sécurité pour évaluer votre niveau de risque et identifier les failles dans vos défenses.
Obtenez une démo personnalisée
"La meilleure expérience utilisateur que j’ai jamais vue, offre une visibilité totale sur les workloads cloud."
"Wiz fournit une interface unique pour voir ce qui se passe dans nos environnements cloud."
"Nous savons que si Wiz identifie quelque chose comme critique, c’est qu’il l’est réellement."