---
id: CVE-2026-22798
aliases:
  - GHSA-jm5j-jfrm-hm23
  - PYSEC-2026-1449
title: >-
  hermes's raw options logging may disclose secrets passed in via subcommand
  options argument
summary: >-
  hermes's raw options logging may disclose secrets passed in via subcommand
  options argument
severity: medium
cvss: 5.9
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:N/I:H/A:N'
vendor: hermes
product: hermes
ecosystem: pip
affected:
  - 'hermes >= 0.8.1, < 0.9.1'
patched:
  - hermes 0.9.1
published: '2026-01-13'
updated: '2026-07-07'
source: OSV
sourceUrl: 'https://osv.dev/vulnerability/GHSA-jm5j-jfrm-hm23'
references:
  - url: >-
      https://github.com/softwarepub/hermes/security/advisories/GHSA-jm5j-jfrm-hm23
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-22798'
  - url: >-
      https://github.com/softwarepub/hermes/commit/7f64f102e916c76dc44404b77ab2a80f5a4e59b1
  - url: >-
      https://github.com/softwarepub/hermes/commit/90cb86acd026e7841f2539ae7a1b284a7f263514
  - url: 'https://github.com/softwarepub/hermes'
tags:
  - osv
  - pip
epss: 0.00175
epssPercentile: 0.06135
ingestedAt: '2026-07-08T18:25:50.829Z'
---

## Overview

Thanks, @thunze for reporting this!

`hermes` subcommands take arbitrary options under the `-O` argument. These have been logged in raw form since https://github.com/softwarepub/hermes/commit/7f64f102e916c76dc44404b77ab2a80f5a4e59b1 in: https://github.com/softwarepub/hermes/blob/3a92f42b2b976fdbc2c49a621de6d665364a7cee/src/hermes/commands/cli.py#L66

If users provide sensitive data such as API tokens (e.g., via `hermes deposit -O invenio_rdm.auth_token SECRET`), these are written to the log file in plain text, making them available to whoever can access the log file.

### Impact

As currently, `hermes.log` is not yet uploaded automatically as an artifact in CI, this vuln impacts:

- local users working on shared access computers, where logs may be written to a commonly accessible file system
- CI users whose CI logs are accessible to others, e.g., through group or organization rights

Potentially, if the changes merged from https://github.com/softwarepub/ci-templates/pull/13 are merged into `ci-templates` via https://github.com/softwarepub/ci-templates/pull/14, this would automate the disclosure of Invenio auth tokens at least for all CI runs against Invenio instances!

### Patches

This has been patched in [`hermes` 0.9.1](TODO) by masking all values passed using `-O`.

### Workarounds

Upgrade to `hermes` >= 0.9.1.

## Affected packages

- `hermes >= 0.8.1, < 0.9.1`

## Remediation

Upgrade to a patched release:

- `hermes 0.9.1`
