漏洞关键信息 漏洞描述 问题: UDM 在 Nudm_SDM 的 GET 请求中,如果缺少单个 参数,则错误地返回 500 Internal Server Error。 原因: 处理器尝试将空字符串作为 JSON 进行反序列化,而没有检查参数是否存在。 触发步骤 1. 使用 Docker Compose 启动 free5gC。 2. 查找 UDM 组件的 IP 和端口。 3. 如果启用了 OAuth,获取 NudmSDM 服务的有效 Authorization Token。 4. 运行以下命令: 预期行为 如果参数不存在,服务应正常处理请求而无需单个 过滤。 如果参数存在但格式错误,应返回 400 Bad Request 状态码。 如果参数存在且有效,应适当应用过滤处理请求。 环境 free5gC 版本: v4.0.0 操作系统: Ubuntu 24.04 Server 修复方案 实现对 查询参数的健壮参数验证,添加检查以验证参数是否存在或有效,避免进行 json.Unmarshal 操作。 其他信息 存在相关配置文件、PCAP 文件和日志文件供进一步分析。 此问题在 free5gC v4.0.0 中观察到,但在最新版本中仍然存在。 已通过 pull request #66 解决此问题,并确认修复了 CVE-2025-60633。