CVE-2025-65502CVE-2025-65502是Cesanta Mongoose物联网库中的一个中等严重性安全漏洞。该漏洞存在于add_ca_certs()函数中,当SSL_CTX_get_cert_store()返回NULL时,程序未进行适当的空指针检查就直接使用该指针,导致空指针解引用(Null Pointer Dereference)。攻击者可以通过构造特定的TLS初始化请求来触发此条件,使服务器进程崩溃,从而造成拒绝服务(DoS)攻击。Cesanta Mongoose是一个轻量级的嵌入式网络库,广泛应用于物联网设备、嵌入式系统和各种网络服务中。由于该漏洞影响所有使用TLS功能的Mongoose应用,攻击者无需认证即可远程触发此漏洞,但需要用户交互才能完成攻击。此漏洞的CVSS评分为4.3,属于中等严重级别,主要影响系统的可用性。
该漏洞的技术根源在于add_ca_certs()函数中缺少对SSL_CTX_get_cert_store()返回值的空指针检查。具体来说,当SSL_CTX_get_cert_store()返回NULL时,代码继续对该NULL指针进行解引用操作,导致程序崩溃。在TLS初始化过程中,如果证书存储(cert store)初始化失败或不可用,SSL_CTX_get_cert_store()会返回NULL,但函数没有检测这一情况就直接使用该指针。攻击者可以通过以下方式利用此漏洞:1) 向目标服务器发送特制的TLS连接请求;2) 触发证书存储初始化失败的条件;3) 当SSL_CTX_get_cert_store()返回NULL时,add_ca_certs()函数对该NULL指针进行操作;4) 导致空指针解引用错误,进程崩溃。修复方案是在调用SSL_CTX_get_cert_store()后添加NULL检查,如果返回NULL则提前返回错误,避免后续的空指针解引用操作。