CVE-2026-21900CVE-2026-21900是NASA CryptoLib中的一个高危安全漏洞。CryptoLib是一个纯软件解决方案,实现了CCSDS空间数据链路安全协议-扩展程序(SDLS-EP),用于保护运行核心飞行系统(cFS)的航天器与地面站之间的通信。该漏洞存在于cryptography_encrypt()函数中,当解析来自KMC服务器响应的JSON元数据时,会发生堆越界读取问题。漏洞的根本原因在于strtok迭代模式使用了ptr + strlen(ptr) + 1的计算方式,当处理短字符串或格式异常的元数据时,会读取到分配缓冲区边界之外的内存。攻击者可利用此漏洞在未授权情况下读取堆内存中的敏感信息,可能导致信息泄露或应用程序崩溃。该漏洞影响1.4.3之前的所有版本,已在1.4.3版本中修复。
该漏洞是一个堆越界读取(Heap Out-of-Bounds Read)漏洞,存在于NASA CryptoLib的cryptography_encrypt()函数中。当该函数解析来自KMC(Key Management Center)服务器的JSON响应元数据时,使用了存在缺陷的strtok迭代模式。问题代码在遍历字符串时使用了ptr + strlen(ptr) + 1的计算方式,这种实现方式在处理短字符串或畸形元数据时会导致指针越界。具体来说,当元数据字符串长度较短或格式异常时,ptr + strlen(ptr) + 1会计算出指向已分配缓冲区边界之后一个字节的位置,从而引发堆越界读取。攻击者可以通过构造特制的KMC服务器响应,在元数据字段中嵌入短字符串或畸形数据,触发此漏洞。由于该函数处理的是安全相关的加密通信数据,成功的利用可能导致加密会话的敏感信息泄露,或导致cFS应用程序崩溃,影响航天器的正常运行。