漏洞总结 漏洞概述 在 库中, 函数存在逻辑缺陷:当使用 标志调用该函数时,若传入的 PDU 数据为空,函数不会正确检查此情况。此外,内部函数 被用于缩减 PDU 大小,但当前代码逻辑未考虑新尺寸小于当前已用尺寸的情况,可能导致选项处理混乱。 影响范围 影响使用 并设置 标志的 CoAP 应用。 可能导致 PDU 选项解析错误、内存越界或断言失败(assert)。 所有依赖 管理的选项函数均受影响。 修复方案 1. 在 中增加对 为空的检查。 2. 调整指针偏移计算逻辑,确保在 为空时不执行非法指针运算。 3. 在 中: - 增加对 的边界检查; - 若新尺寸过大,记录警告并返回错误; - 正确更新 和 ; - 在 中增加对 的断言保护。 POC / 利用代码(来自 diff)