会员登录 - 用户注册 - 设为首页 - 加入收藏 - 网站地图 CVE-2025-57052:cJSON库存在CVSS 9.8高危JSON解析漏洞(含PoC)!

CVE-2025-57052:cJSON库存在CVSS 9.8高危JSON解析漏洞(含PoC)

时间:2025-11-04 22:57:07 来源:益强数据堂 作者:域名 阅读:147次
漏洞概述

安全研究员Salah Chafai(漏洞利用开发与安全专家)近日披露,库存轻量级C语言JSON解析库cJSON存在一个高危漏洞(编号CVE-2025-57052,高危CVSS评分9.8)。解析攻击者可构造畸形JSON指针绕过数组边界检查,漏洞导致内存越界访问、库存段错误、高危权限提升或拒绝服务攻击。解析

技术细节

该漏洞源于cJSON_Utils.c文件中的漏洞decode_array_index_from_pointer函数。研究报告指出:"循环错误地检查pointer[0]而非pointer[position],库存导致非数字字符被当作数组索引处理。高危"

这种逻辑错误意味着类似"0A"的解析输入会被解析为索引10,即使数组仅包含三个元素。云服务器漏洞此类越界访问可能导致应用程序崩溃,库存或在特定场景下允许攻击者读取/篡改预期范围外的高危内存。

漏洞验证

Chafai发布了一个简易C程序演示漏洞利用过程:当使用cJSON解析用户JSON数组时,解析合法索引"0"和"1"能正确返回Alice和Bob的数据,但精心构造的索引"0A"会使cJSON尝试访问不存在的第10个元素。

报告强调:"提供索引0A将导致cJSON访问越界的索引10,可能引发段错误(崩溃)。"

影响范围

由于cJSON被嵌入到无数项目中,源码库受影响软件包括:

处理JSON指针的Web API依赖轻量级解析器的嵌入式/IoT设备需要结构化JSON输入的桌面/服务器应用

报告警告:"任何使用cJSON解析JSON指针的软件...都可能遭受拒绝服务攻击。在可向JSON指针API提供畸形输入的环境中,风险尤为严重。"

攻击场景

攻击者可利用CVE-2025-57052实现:

通过段错误使服务崩溃利用cJSON与atoi函数解析差异绕过应用层检查通过读取已分配内存区域外的数据实现权限提升或访问敏感信息修复方案

修复方法简单直接:修正循环条件判断。

漏洞代码:

复制for (position = 0; (pointer[position] >= 0) && (pointer[0] <= 9); position++)1.

修复后代码:

复制for (position = 0; (pointer[position] >= 0) && (pointer[position] <= 9); position++)1.

该修复确保指针字符串中的每个字符在被解析为数组索引前都经过正确验证。

IT技术网

(责任编辑:人工智能)

推荐内容
  • 解决戴尔电脑登录界面错误的方法(排查戴尔电脑登录界面错误的常见问题及解决方案)
  • 这可能是解决你Spring MVC接口漏洞百出的关键
  • 前端实用小工具(URL参数截取、JSON判断、数据类型检测、版本号对比等)
  • 来,你们想要的打卡功能
  • 电脑显示程序出现未知错误,如何解决?(故障排除与解决方案)
  • OS开发爱好者福利:树莓派上编译C语言,顺便掌握一波硬件知识