CVE-2026-22024CVE-2026-22024是NASA CryptoLib中的一个内存泄漏漏洞。CryptoLib是一个纯软件解决方案,实现了CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP)协议,用于保护运行core Flight System (cFS)的航天器与地面站之间的通信安全。该漏洞存在于1.4.3之前的版本中,cryptography_encrypt()函数在处理HTTP请求和JSON解析时分配了多个缓冲区,但在任何代码路径上都不会释放这些内存。每次调用该函数大约泄漏400字节内存。在持续的网络流量场景下,攻击者可以反复触发该函数调用,导致内存逐渐耗尽,最终可能导致系统服务中断或拒绝服务攻击。由于该漏洞无需认证即可利用,且CVSS评分为5.3(中等严重性),对系统的可用性造成一定影响。
漏洞根源在于CryptoLib的cryptography_encrypt()函数在处理SDLS-EP通信时存在内存管理缺陷。具体来说,该函数在构造HTTP请求和解析JSON响应时动态分配内存用于缓冲区创建,但对应的内存释放代码路径缺失或存在逻辑错误,导致已分配的堆内存无法被正确回收。在每次调用cryptography_encrypt()时,大约会泄漏400字节的堆内存。由于该函数在正常通信流程中会被频繁调用,攻击者可以通过向受影响系统发送持续的网络请求来触发漏洞利用。随着时间推移,内存泄漏会逐渐累积,当可用堆内存被完全耗尽时,将导致程序崩溃或触发Out-of-Memory条件,从而造成拒绝服务。该漏洞影响所有使用CryptoLib进行航天器通信加密的部署环境,特别是在高流量或长时间运行的航天器地面站系统中风险更为显著。修复方案已在版本1.4.3中实现,主要通过添加正确的内存释放逻辑来消除泄漏点。