关键漏洞信息 漏洞描述 问题类型: 远程拒绝服务 受影响组件: free5gc SMF 触发条件: SMF 收到一个来自恶意 UPF 的 PFCP Session Establishment Response,该响应缺少必要的 Cause IE。 后果: 当 SMF 在错误处理逻辑中尝试 dereference 时,会触发 nil pointer dereference,导致 SMF 进程崩溃。 漏洞复现步骤 1. 启动假 UPF 模式: - 使用提供的 PoC 代码设置一个恶意 UPF 服务器,该服务器发送缺失 Cause IE 的 Session Establishment Response。 2. ATTACH UE - 使用 UERANSIM 连接 UE 并建立 PDU 会话。 3. 触发漏洞 - 当 SMF 收到缺失 Cause IE 的响应时,程序将崩溃。 期望行为 SMF 收到缺少必要 IE(如 Cause)的 Session Establishment Response 时,应验证响应结构。 SMF 应优雅地拒绝/忽略畸形响应。 返回适当的错误给 SBI 调用者(或重试/失败会话建立),而不会导致 SMF 进程崩溃。 环境信息 free5GC 版本: v4.1.0 操作系统: Ubuntu 22.04 Server 内核版本: e.g. 5.15.0-0-generic Go 版本: go1.24.9 linux/amd64 关联信息 解决状态: 完成 参考链接: Fix/SMF PFCP handling against missing mandatory IEs to prevent crashes smf#189