IPBUF安全漏洞报告
English
CVE-2026-29975 CVSS 7.5 高危

CVE-2026-29975 lwjson流式解析器拒绝服务漏洞

披露日期: 2026-05-08

漏洞信息

漏洞编号
CVE-2026-29975
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
lwjson

相关标签

DoSlwjsonCVE-2026-29975输入验证JSON解析

漏洞概述

lwjson 1.8.1版本中的流式JSON解析器(lwjson_stream.c)存在输入验证不当漏洞。由于结束字符串检测逻辑未正确计算连续反斜杠,错误地将转义反斜杠后的引号判定为转义字符,导致解析过程无法正常终止。远程攻击者可发送特制的JSON数据(如以转义反斜杠结尾的字符串),致使应用程序挂起,引发拒绝服务。

技术细节

该漏洞位于lwjson库的流式解析模块`lwjson_stream.c`中。在解析JSON字符串时,程序需要判断引号字符是否被转义以确定字符串的结束位置。受影响的代码逻辑仅检查引号前的紧邻字符是否为反斜杠(\),而没有统计连续反斜杠的数量。根据JSON标准,偶数个连续反斜杠(如\\)表示转义后的反斜杠本身,随后的引号应被视为字符串结束符。然而,该漏洞代码会将类似于"value\\"的字符串中的引号误判为被转义,导致解析器继续寻找结束符,从而进入死循环或无限等待状态。攻击者无需认证即可通过网络发送恶意数据包触发此漏洞,导致目标应用资源耗尽。

攻击链分析

STEP 1
1. 信息收集
攻击者识别目标应用程序正在使用存在漏洞的lwjson库版本(1.8.1)。
STEP 2
2. 构造载荷
攻击者构造特制的JSON数据包,其中包含以转义反斜杠(\\)结尾的字符串值,例如{\"data\":\"payload\\\\\"}。
STEP 3
3. 发送请求
攻击者通过网络向目标应用程序接口发送包含恶意JSON数据的请求。
STEP 4
4. 触发漏洞
目标应用调用lwjson_stream_parse()解析数据,由于逻辑错误,解析器无法识别字符串结束符,进入死循环。
STEP 5
5. 拒绝服务
应用程序线程挂起,CPU资源耗尽,导致服务不可用。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * PoC for CVE-2026-29975 * This payload demonstrates the JSON structure that causes the hang. * A string ending with an escaped backslash (\\) causes the parser to fail termination. */ #include <stdio.h> #include <string.h> // Hypothetical usage context void trigger_vulnerability() { // Malicious JSON payload: key's value ends with \\ // In JSON string literal: {"test":"value\\"} // Actual bytes: {"test":"value\\"} char* malicious_json = "{\"test\":\"value\\\\\"}"; printf("Sending payload: %s\n", malicious_json); // If processed by vulnerable lwjson_stream_parse(): // The parser sees the final quote, looks back, sees a backslash. // It thinks the quote is escaped, but the backslash was actually escaping itself. // Result: Infinite loop / Hang. // lwjson_stream_parse(parser, malicious_json, strlen(malicious_json)); } int main() { trigger_vulnerability(); return 0; }

影响范围

lwjson 1.8.1

防御指南

临时缓解措施
在无法立即升级补丁的情况下,建议在调用lwjson解析器的代码外围增加超时控制逻辑(如使用watchdog timer或异步超时机制),确保解析操作在规定时间内完成或被强制终止,从而避免线程永久阻塞。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表