关键漏洞信息总结 名称 SGW-C crashes on oversized PAA IE length in CreateSessionResponse (S5-C) due to missing bounds check in sgwc_s5c_handle_create_session_response 开源项目版本 v2.7.6 漏洞描述 SGW-C 可被恶意或错误配置的 PGW 利用,通过在 S5-C 接口发送一个 CreateSessionResponse,其中 PDN 地址分配 (PAA) IE 的声明长度大于其实际预期的 PAA 结构大小(IPv4 PAA 通常 ≤5 bytes;整体 PAA 最大大小为 21 bytes,具体取决于格式)。 漏洞利用条件 (PoC) 提供了一个 Go 语言的 代码 + 代码说明 + 具体参数设置等。 SGW-C 和 PGW 的特定 IP 地址。 要求的 PAA 结构长度超出正常范围。 模仿 MME 发送 CreateSessionRequest。 模拟 PGW 发送恶意的 CreateSessionResponse,其中 PAA IE 的长度字段伪造为较大的值,触发 SGW-C 崩溃。 影响 恶意行为可能导致 SGW-C 遭受远程拒绝服务攻击(DoS)。 问题原因 缺少对 PAA IE 长度的有效边界检查,导致缓冲区溢出,进而引发系统崩溃。 预期行为 SGW-C 应验证 PAA IE 长度是否符合最大支持大小和目的缓冲区大小,并在不崩溃的情况下拒绝 CreateSessionResponse(例如,返回错误原因或丢弃消息)。 观察行为 收到 CreateSessionResponse 后,SGW-C 因为 PAA IE 长度超出正常值导致触发段错误,最终引发远程拒绝服务。 其他信息 漏洞编号和分类:#4282,类型为 "Bug: triage"。 没有指定该项目相关的标签、里程碑或者文件分支。 此 GitHub Issue 为 "Open" 状态,需要进一步评估和修复。