CVE-2026-100397: Rucio: Unauthenticated administrator impersonation through SSH challenge tokens

Published Nov 13, 2026
·
Updated

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 validateauthtoken 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/sshchallengetoken 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: $CHALLENGETOKEN" https://rucio/accounts/whoami

Affected Software

4 affected componentsFixes available
pip/rucio>=41.0.0rc1<41.1.1
41.1.1
pip/rucio>=39.0.0rc1<40.4.2
40.4.2
pip/rucio>=36.0.0rc1<38.6.1
38.6.1
pip/rucio>=1.14.0.post1<35.9.1
35.9.1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade pip/rucio to a version that resolves this vulnerability.

    Fixed in 41.1.1
  2. Upgrade

    Upgrade pip/rucio to a version that resolves this vulnerability.

    Fixed in 40.4.2
  3. Upgrade

    Upgrade pip/rucio to a version that resolves this vulnerability.

    Fixed in 38.6.1
  4. Upgrade

    Upgrade pip/rucio to a version that resolves this vulnerability.

    Fixed in 35.9.1

Event History

Nov 13, 2026
Advisory Published
via GitHub·01:09 AM
Data Sourced
via GitHub·01:09 AM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who can exploit this issue?

Any unauthenticated network-accessible attacker can exploit it. They can request an SSH challenge token for an arbitrary account name, including an administrative account such as root, and present that token to other API endpoints as a bearer token.

2

What configuration or exposed functionality is required?

The affected Rucio service must expose the REST endpoint used to request SSH challenge tokens and API endpoints that validate bearer authentication tokens. No prior account access, authentication, or user interaction is required.

3

How can I tell whether an instance is vulnerable?

An affected instance accepts an SSH challenge token issued for an arbitrary account as a valid authentication token. The described behavior is tied to validation that does not distinguish challenge tokens from regular authentication tokens.

4

What is the risk if exploitation succeeds?

An attacker can impersonate the account named when requesting the challenge token, including an administrator account. The reported impact includes complete compromise of confidentiality, integrity, and availability.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203