libssh2 中严重的前置认证内存破坏漏洞
| 字段 | 详情 |
|---|---|
| CVE | CVE-2026-55200 |
| CVSS | 9.2 高危 |
| 类型 | 越界写入 |
| 组件 | libssh2 |
| 受影响版本 | <= 1.11.1 |
| 攻击向量 | 网络 |
| 所需权限 | 无 |
| 用户交互 | 无 |
| 影响 | 远程代码执行 (RCE)、拒绝服务 (DoS) |
| 修复版本 | 提交 97acf3dfda80c91c3a8c9f2372546301d4a1a7a8 |
| 披露日期 | 2026 年 6 月 |
CVE-2026-55200 是一个影响广泛部署的 libssh2 库的关键内存破坏漏洞。
该缺陷存在于 SSH 传输层的数据包处理逻辑中,具体在:
ssh2_transport_read()
该函数未能正确验证传入的:
packet_length
字段,就在分配和处理数据包数据之前。
远程攻击者可以发送一个特制的 SSH 数据包,其中包含超长的长度值,导致:
由于漏洞在 SSH 传输数据包处理期间触发,利用可能发生在认证之前,这显著增加了漏洞的严重性。
简化的漏洞流程:
packet_length = read_packet_length();
buffer = malloc(packet_length);
memcpy(buffer, incoming_data, packet_length);
如果 packet_length 由攻击者控制且超出预期边界:
攻击者
│
▼
精心构造的 SSH 数据包
│
▼
超大 packet_length
│
▼
堆破坏
│
┌──┴──┐
▼ ▼
DoS 潜在 RCE
| 组件 | 受影响版本 |
|---|---|
| libssh2 | <= 1.11.1 |
任何嵌入了 libssh2 的应用程序都可能存在漏洞,包括:
注意: OpenSSH 本身不使用 libssh2,因此不受直接影响。
| 要求 | 值 |
|---|---|
| 网络访问 | 需要 |
| 认证 | 不需要 |
| 用户交互 | 不需要 |
| 攻击复杂度 | 低 |
| 远程攻击 | 是 |
安全团队应监控以下情况:
ssh2_transport_read() 的核心转储pkg-config --modversion libssh2
dpkg -l | grep libssh2
apt-cache policy libssh2-1
rpm -qa | grep libssh2
dnf info libssh2
apk info | grep libssh2
ldconfig -p | grep libssh2
find /usr -type f -executable -exec ldd {} \; 2>/dev/null | grep libssh2
升级到包含以下提交的版本:
97acf3dfda80c91c3a8c9f2372546301d4a1a7a8
sudo apt update
sudo apt upgrade libssh2-1
sudo reboot
sudo dnf update libssh2
sudo reboot
sudo dnf upgrade --refresh libssh2
sudo reboot
apk update
apk upgrade libssh2
在补丁可用之前:
sudo ufw allow from TRUSTED_IP to any port 22
sudo ufw deny 22
iptables -A INPUT -p tcp --dport 22 -s TRUSTED_IP -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="TRUSTED_IP" port protocol="tcp" port="22" accept'
firewall-cmd --reload
使用以下参数编译应用程序:
-fstack-protector-strong
-D_FORTIFY_SOURCE=2
-fPIE
-pie
-Wl,-z,relro,-z,now
启用:
✓ ASLR
✓ 栈保护 (Stack Canaries)
✓ RELRO
✓ NX
✓ PIE
✓ 最新安全补丁
对于不可信的工作负载:
docker run \
--read-only \
--cap-drop=ALL \
--security-opt no-new-privileges
额外建议:
部署:
| 类别 | 评级 |
|---|---|
| 日期 | 事件 |
|---|---|
| 2026 年 6 月 | 漏洞公开披露 |
| 2026 年 6 月 | 安全公告发布 |
| 2026 年 6 月 | 修复提交发布 |
| 2026 年 6 月以后 | 厂商补丁开始分发 |
否。OpenSSH 内部不使用 libssh2。
是。该漏洞可能在认证之前被触发。
成功利用取决于:
然而,此类内存破坏漏洞历来被认为非常危险。
在发布时,没有公开确认的活跃利用报告。
本仓库仅用于教育和防御性安全目的。
请勿在您未拥有或未经明确书面授权测试的系统上使用本仓库中的任何信息或代码。
尽早修补 • 审计依赖 • 保护您的供应链 🛡️
网络安全 • 漏洞研究 • 威胁情报
| 可利用性 |
| 高 |
| 复杂度 | 低 |
| 认证 | 无 |
| 远程攻击 | 是 |
| 供应链风险 | 高 |
| 互联网暴露 | 高 |
| 资源 | 链接 |
|---|