Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2026-71429— stream-json: pick/ignore/filter/replace filters are O(depth²) on nested input — small crafted JSON blocks the event loop for seconds→minutes (DoS)

Quick assessment

Affected
uhop stream-json
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

stream-json 是一个用于处理 JSON 和 JSONC 的流式组件微型库,具有极低的内存占用。在 3.5.0 版本之前,位于 中的路径过滤器 、 、 和 在处理每个可检查 token 时,都会根据嵌套栈重新计算完整的路径字符串。由于栈的长度等于当前的嵌套深度,而每一层嵌套都会产生一个可检查 token,因此处理一个深度为 D 的文档的时间复杂度为 O(D²),而不是 O(D)。该问题是由嵌套深度而非数据量触发的,包括文档中记录的 直到匹配为止的遍历路径。因此,一个将不受信任的 JSON 通过字符串或正则表

CVSS 6.2 · Medium

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-71429

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
stream-json: pick/ignore/filter/replace filters are O(depth²) on nested input — small crafted JSON blocks the event loop for seconds→minutes (DoS)
Source: CVE Program / CVE List V5
Vulnerability Description
stream-json is a micro-library of stream components for processing JSON and JSONC with a minimal memory footprint. Prior to 3.5.0, the path filters pick, ignore, filter, and replace in src/core/filters/filter-base.js recompute the full path string from the nesting stack for every checkable token. Because the stack length equals the current nesting depth and a checkable token is emitted at every level, a depth D document costs O(D²) rather than O(D) to process. The issue is triggered by nesting depth rather than byte volume, including the documented pick({filter: 'data'}) traversal-until-match path, so an application that sends untrusted JSON through a string or RegExp filter can block the Node.js event loop and cause denial of service with a small deeply nested document. The streamArray, streamObject, and streamValues streamers are not affected because they use the constant-time asm.depth getter. This issue is fixed in version 3.5.0.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
算法复杂性
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
uhop stream-json < 3.5.0 -

II. Public POCs for CVE-2026-71429

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-71429

登录查看更多情报信息。

Patches & Fixes for CVE-2026-71429 (1)

Vendor Advisories for CVE-2026-71429 (1)

IV. Related Vulnerabilities

V. Comments for CVE-2026-71429

No comments yet


Leave a comment