关键信息提取 Bug Description 漏洞类型: 缓存漏洞 漏洞描述: Free5GC的SMF在处理缺少ReportType IE的PFCP SessionReportRequest时发生崩溃。 - 具体表现为处理PFCP消息时,由于ReportType IE的缺失,触发了无效指针引用,导致SMF进程崩溃。 - 在正常PDU会话过程中,当会话需要数据报告时触发崩溃,PFCP消息调度器在协程中运行处理程序且无紧急回收机制,导致整个SMF进程崩溃。 Reproduction Steps 环境条件: - Free5GC版本: v4.1.0 - 操作系统: Ubuntu 22.04 - 内核版本: 5.15.0-0.2 - Go版本: 1.24.9 重现代码: - 提供了Go语言编写的示例代码,用于远程触发漏洞。 - 需要设置监听端口、目标IP及PFCP端口等参数,发送不具备ReportType IE的SessionReportRequest消息。 Expected Behavior SMF应验证PFCP消息中是否包含所有Mandatory IEs。 如果ReportType IE缺失,SMF应以适当的SessionReportResponse消息回复,而非引发崩溃。 Screenshots 日志文件截图揭示了崩溃点在HandlePfcpSessionReportRequest函数内部。 显示了PFCP消息的异常解析跟踪信息。 Environment Free5GC版本: v4.1.0 操作系统: Ubuntu 22.04 内核版本: 5.15.0-0.2 Go版本: 1.24.9 Trace Files 日志文件: 提供了关键的崩溃日志。 Conclusion 该漏洞属于远程缓存漏洞,可导致SMF服务崩溃,影响网络服务的可用性。 建议开发团队进行代码审查,对消息解析部分加注完整性检查以避免崩溃。