漏洞关键信息 漏洞描述 问题类型: Bug 模块: UDM 描述: UDM组件在Nudm_UECM端点的ueId路径参数上缺少全面的输入验证/清理。当ueId包含控制字符(例如,URL编码的NUL字节%00)时,服务器对其进行解码并将原始值传播到下游NUDR URL,导致URL解析失败(net/url: invalid control character in URL)。 相关性: 与#750属于同一类别,但触发方式不同。 重现步骤 1. 启动free5gC。 2. 检查UDM组件的IP和端口。 3. 将nrfcfg.yaml中的oauth设置为false以方便测试。 4. 运行以下命令: 5. 由于进行了HTTP消息的模糊测试,提供了所有种子以帮助确认此问题。 预期行为 UDM服务应当在处理前验证并清理ueId路径参数。 拒绝控制字符(例如,\x00)、无效的百分比编码和不期望的格式。 针对任何无效参数,返回适当的4xx客户端错误(例如,400 Bad Request)并附带清晰而非技术性的消息。 避免在响应中泄露内部实现细节。 环境 free5GC版本:v4.0.1 操作系统:Ubuntu 20.04 Server 内核版本:6.8.0-47-generic Go版本:go1.24.5 linux/amd64 影响 CWE编号: CWE-20 攻击向量: 远程攻击者可向ueId参数注入控制字符(如%00),触发内部URL解析错误,暴露系统实现细节并可能用于服务指纹识别。 修复情况 状态: 已修复 修复方式: 通过PR #76实现了对UE ID的验证检查。 影响范围: free5GC v4.0.1的所有使用UDM Nudm_UECM服务的部署。