IPBUF安全漏洞报告
English
CVE-2026-22798 CVSS 5.9 中危

CVE-2026-22798 hermes敏感信息泄露漏洞

披露日期: 2026-01-12

漏洞信息

漏洞编号
CVE-2026-22798
漏洞类型
敏感信息泄露
CVSS评分
5.9 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
hermes (HERMES workflow)

相关标签

敏感信息泄露日志注入明文存储hermesAPI密钥泄露信息完整性命令行注入

漏洞概述

hermes是一款用于自动化软件发布和丰富元数据管理的HERMES工作流实现工具。该漏洞存在于hermes 0.8.1至0.9.1之前的版本中,漏洞源于hermes子命令通过-O参数接收任意选项时,会以原始形式将用户输入的敏感数据记录到日志文件中。当用户通过命令行传递API密钥等敏感信息(如使用hermes deposit -O invenio_rdm.auth_token SECRET命令)时,这些敏感凭据会以明文形式写入日志文件,导致任何能够访问日志文件的人都能获取这些敏感信息。该漏洞的CVSS评分为5.9,属于中等严重程度,主要影响信息的机密性。虽然攻击需要本地访问权限,但攻击者只需获取日志文件的读取权限即可窃取存储在日志中的敏感API令牌,可能导致攻击者利用窃取的令牌进行未授权操作,影响软件发布流程的安全性。

技术细节

该漏洞的技术根源在于hermes工具对通过-O参数传递的用户输入缺乏安全处理机制。具体来说,hermes的各个子命令(如deposit等)设计为接受任意键值对作为参数选项,存储在-O参数之后的数据会被直接传递到底层的参数解析系统。然而,这些参数值在记录日志时没有被进行脱敏或过滤处理,导致原始的敏感数据被完整地写入日志文件。攻击者利用此漏洞需要满足以下条件:1)能够访问目标系统的日志文件;2)了解hermes工具的使用方式和-O参数的功能。攻击场景包括:攻击者获取系统访问权限后,读取包含敏感信息的日志文件;或者具有日志文件访问权限的内部人员主动查看日志中的敏感数据。由于日志文件通常由系统管理员定期备份或归档,敏感信息可能在系统中长期存在,即使漏洞被修复后仍可能造成长期影响。

攻击链分析

STEP 1
侦察阶段
攻击者首先获取目标系统的访问权限,可能是通过社会工程学、弱口令或其他漏洞获取初始立足点。
STEP 2
定位日志文件
攻击者搜索系统中hermes工具生成的日志文件,通常位于默认日志目录或用户指定的日志路径中。
STEP 3
提取敏感信息
攻击者读取日志文件内容,利用grep等工具搜索包含auth_token、password、secret等敏感关键词的日志条目,直接获取明文存储的API令牌或凭据。
STEP 4
令牌滥用
攻击者使用窃取的API令牌冒充合法用户执行操作,如上传恶意软件包、修改元数据或进行其他未授权的软件发布操作。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # CVE-2026-22798 PoC - Sensitive Information Disclosure in hermes # This PoC demonstrates how sensitive API tokens are logged in plain text # Simulate vulnerable hermes command execution (versions 0.8.1 to < 0.9.1) echo "[+] Simulating vulnerable hermes command with sensitive token..." hermes deposit -O invenio_rdm.auth_token "SUPER_SECRET_API_KEY_12345" -O invenio_rdm.site_url "https://example.com" # After execution, sensitive data appears in log files echo "[+] Checking log files for exposed credentials..." echo "[+] Log file content (vulnerable behavior):" echo "[DEBUG] Received option: invenio_rdm.auth_token = SUPER_SECRET_API_KEY_12345" echo "[DEBUG] Received option: invenio_rdm.site_url = https://example.com" echo "[+] Note: In vulnerable versions, the raw token is logged without sanitization" echo "[+] Fixed version (0.9.1+) would mask sensitive values in logs"

影响范围

hermes >= 0.8.1
hermes < 0.9.1

防御指南

临时缓解措施
在官方修复版本发布之前,建议通过以下方式临时缓解风险:1)避免使用-O参数直接传递敏感凭据,改用环境变量或配置文件方式;2)确保日志文件权限设置正确,仅允许必要的管理员账户访问;3)配置日志监控系统,对包含敏感关键词的日志条目进行告警;4)考虑使用日志聚合工具的脱敏功能,在日志进入中央存储前过滤敏感信息。

参考链接

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