IPBUF安全漏洞报告
English
CVE-2026-44405 CVSS 3.4 低危

CVE-2026-44405 Paramiko允许使用SHA-1算法漏洞

披露日期: 2026-05-06

漏洞信息

漏洞编号
CVE-2026-44405
漏洞类型
加密算法缺陷
CVSS评分
3.4 低危
攻击向量
邻接 (AV:A)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Paramiko

相关标签

加密算法缺陷SSHParamikoSHA-1弱加密

漏洞概述

Paramiko是一个流行的Python SSH库。在4.0.0版本及之前的特定提交中,其rsakey.py模块未正确限制哈希算法,允许使用已被证明不安全的SHA-1算法。由于SHA-1存在碰撞攻击风险,攻击者可能利用此漏洞破坏SSH通信的完整性。

技术细节

该漏洞位于Paramiko库的`rsakey.py`文件中,具体涉及RSA密钥的签名哈希算法处理机制。在受影响版本中,代码没有正确限制或禁止使用SHA-1(Secure Hash Algorithm 1)算法。SHA-1作为一种古老的哈希函数,已被证明存在严重的碰撞攻击漏洞,不再适合用于安全敏感的场景,如数字签名和证书验证。

攻击者利用此漏洞需要处于邻接网络环境(AV:A),且攻击复杂度较高(AC:H)。攻击的核心在于利用SHA-1的碰撞特性,伪造出与合法密钥具有相同指纹的恶意密钥。如果SSH客户端或服务器接受了使用SHA-1签名的密钥,攻击者理论上可以拦截或篡改通信数据,导致完整性受损(I:L)。虽然该漏洞不直接影响机密性(C:N),但破坏了SSH协议信任链的基础,可能被用于中间人攻击。

攻击链分析

STEP 1
步骤1
攻击者进行侦察,确认目标系统使用了存在漏洞的Paramiko版本(4.0.0及以下)。
STEP 2
步骤2
攻击者进入目标系统的邻接网络范围(AV:A),无需用户交互(UI:N)。
STEP 3
步骤3
攻击者尝试与目标建立SSH连接,并在密钥交换阶段诱导系统接受使用SHA-1算法签名的密钥。
STEP 4
步骤4
利用SHA-1的碰撞漏洞,攻击者伪造恶意密钥或签名,破坏通信完整性(I:L)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC Code: Demonstration of SHA-1 usage in vulnerable Paramiko versions # This script attempts to verify if the library permits SHA-1 for RSA keys. import paramiko from paramiko import rsakey import logging logging.basicConfig(level=logging.INFO) def test_sha1_vulnerability(): """ Check if the vulnerable version of Paramiko allows SHA-1 usage. In the fixed version (after a448945), SHA-1 is restricted. """ try: # Generate a test RSA key key = rsakey.RSAKey.generate(2048) logging.info("RSA Key generated.") # The vulnerability allows SHA-1 to be used in the signature process. # We simulate a check for algorithm availability. # Note: Actual exploitation requires specific SSH handshake negotiation. message = b"Test data for signing" # In vulnerable versions, the underlying crypto might not reject SHA-1 # This is a conceptual representation of the flaw. print("[*] Attempting to sign data (simulated SHA-1 acceptance)...") # If the code logic in rsakey.py does not filter 'sha1', # it implies the vulnerability exists. print("[+] Vulnerability confirmed if Paramiko version <= 4.0.0 (before a448945)") print("[+] Recommendation: Update to the latest version to remove SHA-1 support.") except ImportError: print("[-] Paramiko library not found.") except Exception as e: print(f"[-] An error occurred: {e}") if __name__ == "__main__": test_sha1_vulnerability()

影响范围

Paramiko 4.0.0 及更早版本 (commit a448945 之前)

防御指南

临时缓解措施
建议立即将 Paramiko 库更新至修复了该问题的最新版本。如果无法立即更新,应在网络层面限制 SSH 访问来源,仅允许信任的主机连接,并在系统层面全局禁用 SHA-1 哈希算法的使用,以降低被利用的风险。

参考链接

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