CVE-2026-119446: Session fixation in the CLI login flow allows an unauthenticated attacker to obtain a user's API token

Published Nov 10, 2026
·
Updated

Session Fixation vulnerability in the CLI login flow in nerves-hub nerveshubweb allows an unauthenticated attacker to obtain an API token for another user's account via a crafted login link. Starting a CLI login with POST /api/auth/clisession needs no authentication and returns a polling token, a confirmation URL that carries that token, and a confirmation code. When a signed-in user opens that URL and clicks Confirm, NervesHub.Accounts.verifyclisessiontoken/2 creates an API token for the user's account and stores it on the login, and the next poll of GET /api/auth/clisession/<token> returns it to whoever started the login.

The confirmation code is only displayed and is never compared with anything, so it cannot show that the person confirming is the one who started the login. The confirm form carries a CSRF token and the page cannot be framed, so the attacker has to persuade the user to open the link and click the button themselves.

This issue affects nerveshub: from 2.5.0 before 2.5.3.

Affected Software

1 affected component
hex/nerves_hub>=2.5.0<2.5.3

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade nerves_hub to a version that resolves this vulnerability.

    Fixed in 2.5.3
  2. Operational

    After upgrading, review API tokens on the account page and delete any unrecognized tokens; upgrading does not revoke tokens already handed out.

Event History

Nov 10, 2026
CVE Published
via MITRE·10:44 AM
Data Sourced
via MITRE·10:44 AM
RemedyDescriptionWeakness
Data Sourced
via NVD·11:16 AM
DescriptionSeverityWeakness

Frequently Asked Questions

1

What does an attacker need to exploit this issue?

The attacker needs to start an unauthenticated CLI login, obtain its confirmation URL, and persuade a signed-in user to open that crafted URL and click Confirm. The attacker does not need the victim's credentials, but cannot complete the confirmation through framing because the page cannot be framed and the form uses a CSRF token.

2

Who can be affected?

A signed-in user who opens an attacker-provided CLI login confirmation link and confirms it can have an API token issued for their account. The attacker that initiated the associated CLI login can retrieve that token by polling the login endpoint.

3

Are unauthenticated endpoints involved?

Yes. POST /api/auth/cli_session can be used without authentication to create the CLI login session and obtain the polling token and confirmation URL. The confirmation code does not prevent the attack because it is displayed but never validated against the person who started the login.

4

Which versions are affected?

The issue affects nerves_hub versions from 2.5.0 up to, but not including, 2.5.3.

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