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

CVE-2026-29129 Apache Tomcat 密码套件顺序未保留漏洞

披露日期: 2026-04-09

漏洞信息

漏洞编号
CVE-2026-29129
漏洞类型
配置错误
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Apache Tomcat

相关标签

Apache Tomcat配置错误TLS信息泄露高危漏洞

漏洞概述

Apache Tomcat 在多个版本中发现高危配置错误漏洞(CVE-2026-29129)。该问题导致服务器未能保留管理员设定的密码套件优先顺序,在 TLS 握手协商阶段可能意外启用较弱的加密算法。此漏洞允许未经认证的远程攻击者利用网络中间人位置,操纵加密算法选择,降低通信链路安全性。由于主要影响机密性,敏感数据面临被破解风险。官方已发布修复版本,建议受影响用户立即升级。

技术细节

该漏洞源于 Apache Tomcat 在处理 TLS 连接时的内部逻辑错误。在标准的 SSL/TLS 握手过程中,服务器应当向客户端发送一个按优先级排序的密码套件列表。然而,在受影响版本中,Tomcat 忽略了配置文件(如 server.xml)中定义的顺序,可能导致系统依据内部默认逻辑(如字母顺序或 JDK 默认顺序)重新排列。如果管理员将高强度算法(如 AES-GCM)置于列表顶部以避免使用旧算法(如 CBC 模式),该漏洞会导致这一安全策略失效。攻击者无需进行身份认证,只需处于能够截获或影响网络流量的位置(如中间人攻击),即可诱导连接使用弱加密套件。一旦建立了弱加密通道,攻击者利用已知的加密弱点更容易破解流量,获取传输中的敏感信息,从而造成严重的数据泄露。

攻击链分析

STEP 1
侦察
攻击者识别出目标服务器运行的是受影响版本的 Apache Tomcat。
STEP 2
中间人位置
攻击者设法处于能够拦截或操纵目标服务器与客户端之间网络通信的位置(如同一局域网或劫持路由)。
STEP 3
握手操纵
利用 CVE-2026-29129 漏洞,攻击者在 TLS 握手过程中干扰密码套件的选择逻辑,迫使服务器使用配置中本应被排除或优先级较低的弱加密算法。
STEP 4
数据解密
由于连接使用了弱加密算法,攻击者利用已知的密码分析工具破解加密流量,获取敏感信息(机密性影响)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import ssl import socket # PoC: Check if the server negotiates a weak cipher or ignores order # This script attempts to connect and verifies the negotiated cipher suite. def check_vulnerability(hostname, port): # Create a context that allows legacy ciphers for testing purposes context = ssl.create_default_context() context.set_ciphers('DEFAULT:@SECLEVEL=0') context.check_hostname = False context.verify_mode = ssl.CERT_NONE print(f"[*] Connecting to {hostname}:{port}...") try: with socket.create_connection((hostname, port)) as sock: with context.wrap_socket(sock, server_hostname=hostname) as ssock: cipher = ssock.cipher() print(f"[+] Connection established.") print(f"[+] Negotiated Cipher: {cipher[0]}") print(f"[+] Protocol Version: {cipher[1]}") # Analyze if the cipher is considered weak weak_ciphers = ['RC4', 'DES', '3DES', 'MD5', 'NULL'] if any(weak in cipher[0] for weak in weak_ciphers): print("[!] WEAK CIPHER DETECTED! The server might be vulnerable to CVE-2026-29129.") else: print("[*] Strong cipher negotiated, but manual verification of preference order is recommended.") except Exception as e: print(f"[-] Error: {e}") if __name__ == "__main__": target = "192.168.1.10" # Replace with target IP check_vulnerability(target, 443)

影响范围

Apache Tomcat 11.0.16 - 11.0.18
Apache Tomcat 10.1.51 - 10.1.52
Apache Tomcat 9.0.114 - 9.0.115

防御指南

临时缓解措施
如果无法立即升级,建议在 Tomcat 前端部署反向代理(如 Nginx 或 Apache HTTPd)来处理 SSL/TLS 终止,并确保代理服务器配置了严格的密码套件顺序和安全策略,从而屏蔽后端 Tomcat 的配置缺陷。

参考链接

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