关键信息 漏洞标题 [Bugs] NEF incorrectly returns 500 for missing PFD data (UDR 404) in Nnef_PfdManagement GET request (JSON parse error: invalid character 'n') 漏洞描述 当请求的 不存在于 UDR 中时,NEF 返回 500 Internal Server Error,而不是 404 Not Found。 UDR 没有正确处理下游 404 错误,而是生成了无效的 JSON 响应,导致 NEF 解析失败并返回 500 错误。 复现步骤 1. 启动 。 2. 检查 NEF 组件的 IP 和端口。 3. 将 中的 设置为 。 4. 使用特定的 命令触发行为。 5. 提供所有种子以帮助确认问题。 期望行为 当请求的 PFD 数据不存在时(UDR 返回 404),NEF 应返回适当的 4xx 响应(最好为 404 Not Found)。 提供清晰且无害的错误消息,不包含内部 JSON 解析错误。 正确处理非 JSON 的下游错误体,避免将下游 404 视为系统故障。 环境 free5GC 版本: v4.0.1 操作系统: Ubuntu 20.04 Server 内核版本: 6.8.0-47-generic Go 版本: go1.24.5 linux/amd64 根本原因及修复 UDR 中缺少 语句,导致了两个 JSON 值写入响应体,从而产生无效 JSON。 提交了 PR 以修复此问题,并添加了缺失的 语句。 影响 不适当的错误处理(CWE-388)导致信息暴露(CWE-209)。 安全影响:NEF 泄露内部解析错误详细信息。 功能影响:系统在应返回 404 时返回 500,阻碍故障排查。 修复状态 通过 commit 91bb34b 修复,已包含在后续版本中。