根据用户的要求,我需要从提供的网页截图中提取关于漏洞的关键信息,并用简洁的中文markdown格式进行总结。 1. 漏洞概述 (Vulnerability Overview): 标题: Submit #781950: NASA cFS 7.0.0 Heap over-read via untrusted CCSDS length in TO_LAB sendto 描述: TO_LAB (To_Lab_SendtoPacketMessage) 函数在通过 CFE_MSG_GetSize() 获取 CCSDS 包长度后,直接将其作为发送长度传递给 ,而没有验证该长度是否超过实际的软件总线 (Software Bus) 缓冲区分配。 后果: 如果攻击者发送一个带有非法 CCSDS 长度字段的消息,会导致相邻堆内存被读取并传输。这可能导致信息泄露(读取超出实际缓冲区边界的遥测UDP流)。 2. 影响范围 (Impact/Scope): 受影响软件: NASA cFS 7.0.0 (Core Flight System)。 具体组件: TO_LAB (Telemetry Over UDP) 模块。 触发条件: 攻击者能够向软件总线注入伪造消息(例如通过 CLAB UDP 命令)。 3. 修复方案 (Fix/Mitigation): 预期行为: 发送函数应验证 CCSDS 导出的消息大小是否未超过实际缓冲区分配。 建议: 至少应将大小限制在 范围内。 4. 代码提取 (Code Extraction): 页面底部包含 "Code snippets" 部分,展示了 文件中的相关代码(第46-49行)。 代码内容涉及 和 的调用。 5. 整理输出: 将上述信息整合成用户要求的格式。 标题: 漏洞概述 内容: 描述 TO_LAB 模块中的堆溢出读取问题。 标题: 影响范围 内容: NASA cFS 7.0.0, TO_LAB 模块。 标题: 修复方案 内容: 验证消息大小,限制在最大允许值内。 标题: 相关代码 内容: 提取底部的 C 代码片段。 检查是否遗漏: "Reproduce" 部分提到了复现步骤(构建 cFS,启动 CLAB 和 TO_LAB,发送特定长度的包)。虽然用户没明确要求复现步骤,但这是漏洞利用的关键,可以简要提及或作为补充,不过用户主要问的是“漏洞概述、影响范围、修复方案”和“POC代码”。截图中的 "Code snippets" 是漏洞代码,不是完整的 POC 利用脚本,但我会把它作为“相关代码”提取出来,因为这是漏洞的核心。 最终结构确认: 漏洞总结 漏洞概述 ... 影响范围 ... 修复方案 ... 相关代码 漏洞总结 漏洞概述 漏洞名称: NASA cFS 7.0.0 Heap over-read via untrusted CCSDS length in TO_LAB sendto 漏洞描述: 模块中的 函数存在堆溢出读取漏洞。该函数在通过 获取 CCSDS 包长度后,直接将其作为发送长度传递给 ,而未验证该长度是否超过了实际软件总线(Software Bus)缓冲区的分配大小。 攻击后果: 攻击者可以通过向软件总线注入带有非法 CCSDS 长度字段的伪造消息,导致 读取并传输超出实际缓冲区边界的相邻堆内存,从而造成信息泄露。 影响范围 受影响软件: NASA cFS 7.0.0 (Core Flight System) 受影响组件: (Telemetry Over UDP) 模块 触发条件: 攻击者能够向软件总线注入伪造消息(例如通过 CLAB UDP 命令)。 修复方案 预期行为: 发送函数在发送数据前,必须验证 CCSDS 导出的消息大小是否未超过实际缓冲区分配。 建议措施: 至少应将发送大小限制在 范围内。 相关代码 (漏洞代码片段)