[Bug]: SMF crash on POST /nsmf-callback/v1/sm-policy-notify/{smContextRef}/update with oversized pccRules #4445 漏洞概述 SMF 在处理 回调时,当 映射包含超过 数组固定容量的条目时,会导致 SMF 崩溃。 具体表现为: 函数在复制 PCC 规则时没有进行上界检查,导致数组越界。随后在处理溢出条目时触发断言失败( ),中止 SMF 进程。 影响范围 组件: Open5GS SMF (Session Management Function) 版本: v2.7.7 触发条件: 向 SMF 发送包含大量 的 POST 请求(例如 20 个有效规则)。 修复方案 页面中未提供具体的代码修复补丁,但指出了根本原因:需要在 函数中添加上界检查(upper-bound check),以防止数组溢出。 POC / 利用代码 1. 触发断言失败的代码片段 (C语言逻辑): 2. 完整的复现脚本 (Python + Curl): 3. 预期行为: SMF 应拒绝无效的 输入,并返回正常的 HTTP 错误响应。 4. 实际行为: 回调重置连接,SMF 进程以代码 139 退出。