Answer in brief
CVE-2026-100397 records a Critical severity (CVSS 9.8) vulnerability in Rucio: Unauthenticated administrator impersonation through SSH challenge tokens. The current sources do not mark it as known exploited. The current feed maps rucio (pip), rucio (pip), rucio (pip), rucio (pip). Check affected ranges and fixed versions before updating.
Analysis pending evidence review
HOL Guard separates source facts from reviewed analysis. See the methodology.
CVSS is 9.8. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.
Analysis status
Analysis pending evidence review
Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.
The current feed maps rucio (pip), rucio (pip), rucio (pip), rucio (pip). Check affected ranges and fixed versions before updating.
| Package | Affected range | Fixed version |
|---|---|---|
| ruciopip | >=1.14.0.post1,<35.9.1 | 35.9.1 |
| ruciopip | >=36.0.0rc1,<38.6.1 | 38.6.1 |
| ruciopip | >=39.0.0rc1,<40.4.2 | 40.4.2 |
| ruciopip | >=41.0.0rc1,<41.1.1 | 41.1.1 |
Published upstream
Nov 13, 2026
Evidence: source:ghsa:source_dates:source-dates:recordSource modified
Nov 13, 2026
Evidence: source:ghsa:source_dates:source-dates:recordFirst seen by HOL
Nov 13, 2026
## Summary SSH challenge tokens are mistakenly accepted as valid credentials during the authentication token validation process. While an SSH challenge token is intended as a short-lived nonce for use in a subsequent SSH key exchange, the function to validate authentication tokens does not differentiate between these and actual authentication tokens. Because challenge tokens are generated based on an account name provided via headers without requiring prior authentication, an unauthenticated attacker can request a valid "challenge" token for any account (including administrative ones) and use it to authenticate against other API endpoints. ## Proof of Concept The vulnerability exists because SSH challenge tokens are stored in the same database table as regular authentication tokens and `validate_auth_token` in `lib/rucio/core/authentication.py` accepts these "challenge" tokens. An attacker can obtain a challenge token for an account such as “root” via the REST API and then present it as a valid authentication bearer token: 1. Request a challenge token for an arbitrary account (e.g., "root"): `curl -i -H "X-Rucio-Account: root" https://rucio/auth/ssh_challenge_token` 2. The server returns a `200 OK` with the header `X-Rucio-SSH-Challenge-Token`. 3. The attacker can then use this specific token within the ten-second challenge lifetime as an authentication credential in subsequent requests to the Rucio API: `curl -H "X-Rucio-Auth-Token: $CHALLENGE_TOKEN" https://rucio/accounts/whoami`
Quoted source text, attributed separately from HOL analysis.