CVE-2025-59391CVE-2025-59391是libcoap库中OSCORE(Object Security for Constrained RESTful Environments)配置解析器存在的一个内存泄露漏洞。该漏洞影响libcoap在release-4.3.5-patches之前的所有版本。攻击者可以通过构造特制的OSCORE配置文件来触发解析器中的越界读取操作,从而可能读取.rodata段中字符串边界之外的内存内容。这种信息泄露可能导致敏感数据暴露,如内存地址、配置密钥或其他机密信息。虽然CVSS评分6.5属于中等严重程度,但该漏洞无需认证即可远程利用,且可能与其他漏洞结合造成更严重的影响。在资源受限的物联网设备中,此类内存泄露可能导致应用程序崩溃,从而引发拒绝服务攻击。
漏洞根源在于libcoap的OSCORE配置解析函数在处理特定配置值时缺乏适当的边界检查。当解析器读取配置字符串时,如果配置值长度超过预期缓冲区大小,可能触发out-of-bounds读取。具体来说,解析器在处理OSCORE配置参数(如sender_id、recipient_id等)时,使用了不安全的字符串复制操作,未验证源字符串长度是否在目标缓冲区容纳范围内。攻击者可通过提供超长字符串或包含特殊字符的配置值,使解析器读取超出.rodata段的内存内容。成功的越界读取可能泄露堆栈/堆元数据、函数指针或其他敏感内存信息,为进一步攻击提供基础。修复版本v4.3.5a通过增加长度验证和安全的内存操作解决了此问题。