IPBUF安全漏洞报告
English
CVE-2026-27315 CVSS 5.5 中危

CVE-2026-27315 Apache Cassandra cqlsh敏感信息泄露漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-27315
漏洞类型
信息泄露
CVSS评分
5.5 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Apache Cassandra

相关标签

信息泄露本地漏洞Apache CassandraCQLSH明文密码

漏洞概述

Apache Cassandra 4.0 版本中的 cqlsh 组件存在敏感信息泄露漏洞。cqlsh 的历史记录功能会将用户执行过的命令保存到 ~/.cassandra/cqlsh_history 文件中,但未对密码等敏感信息进行脱敏处理。这导致拥有本地低权限的攻击者可直接读取该文件,获取之前操作中留下的明文密码。该漏洞 CVSS v3.1 评分为 5.5,属于中危级别,官方已在 4.0.20 版本中修复此问题。

技术细节

该漏洞的核心在于 Apache Cassandra 命令行工具 cqlsh 对历史日志的处理机制不完善。cqlsh 为了提供便捷的命令回溯功能,默认将用户输入的所有命令记录存储在本地文件 ~/.cassandra/cqlsh_history 中。然而,该写入过程缺乏敏感词过滤或加密机制。
当管理员或用户在 cqlsh 中执行诸如身份验证(LOGIN)、创建用户(CREATE USER)或修改密码等操作时,包含明文密码的完整 SQL 语句会被原样保存在磁盘上。由于该文件的权限通常允许当前用户读取,一旦攻击者获得了该主机的本地低权限账号(例如通过 Web 漏洞或其他服务漏洞),即可无需用户交互直接读取该文件。攻击者通过简单的文本搜索即可提取出高权限数据库凭据,从而突破数据库的安全防线,造成严重的数据泄露风险。

攻击链分析

STEP 1
步骤1:获取本地访问权限
攻击者通过某种方式获得了目标主机的本地低权限用户访问(PR:L)。
STEP 2
步骤2:定位历史文件
攻击者访问用户主目录,定位到 ~/.cassandra/cqlsh_history 文件。
STEP 3
步骤3:读取敏感数据
攻击者读取该文件内容,利用文本搜索工具查找包含 'PASSWORD' 或 'LOGIN' 等关键词的命令行。
STEP 4
步骤4:利用凭据
攻击者从历史记录中提取明文密码,并使用这些凭据登录数据库或进行提权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-27315: Sensitive Information Leak in cqlsh # This script checks the cqlsh history file for potential plaintext passwords. HISTORY_FILE="$HOME/.cassandra/cqlsh_history" if [ -f "$HISTORY_FILE" ]; then echo "[+] Found cqlsh history file at: $HISTORY_FILE" echo "[+] Searching for potential passwords..." # Search for common keywords associated with password usage in CQL grep -i -E "(PASSWORD|LOGIN|CREATE USER|ALTER USER)" "$HISTORY_FILE" else echo "[-] cqlsh history file not found." fi

影响范围

Apache Cassandra 4.0 < 4.0.20

防御指南

临时缓解措施
在无法立即升级的情况下,建议用户手动检查并删除 ~/.cassandra/cqlsh_history 文件中包含敏感信息的行,或者直接删除该文件。同时,应确保操作系统级别的文件权限设置正确,防止非授权用户读取其他用户的主目录文件。

参考链接

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