CVE-2026-22798hermes是一款用于自动化软件发布和丰富元数据管理的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参数的功能。攻击场景包括:攻击者获取系统访问权限后,读取包含敏感信息的日志文件;或者具有日志文件访问权限的内部人员主动查看日志中的敏感数据。由于日志文件通常由系统管理员定期备份或归档,敏感信息可能在系统中长期存在,即使漏洞被修复后仍可能造成长期影响。