Skip to main content

CVE-2026-119446nerves-hub nerves_hub_web session fixation

High priorityCritical9.4EPSS not scored yet

CVE-2026-119446 is a session fixation in nerves-hub nerves_hub_web, rated critical (9.4 on CVSS 4.0).

Why this priority: Critical, and reachable over the network without an account.

Published · Updated · NVD status: Received

What it is

A session identifier chosen by an attacker survives sign-in.

How it is reached

An attacker can exploit it over the network, without an account, but someone has to act first, such as opening a file or following a link.

What an attacker gains

A successful attack can read the data it protects, change data or behaviour and take it offline. In practice, this kind of flaw lets an attacker act as a signed-in user, or an administrator, without valid credentials. The damage can spread past the vulnerable component into others.

Is it being exploited?

There is no public report of exploitation yet.

What to do

  1. Upgrade nerves-hub nerves_hub_web to 2.5.3 or later.
  2. Until it is patched, keep it off the internet or behind a VPN, allowlist or authenticating proxy.
  3. Warn the people who use it, and filter files and links on the way in.

Description from NVD

Session Fixation vulnerability in the CLI login flow in nerves-hub nerves_hub_web 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/cli_session 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.verify_cli_session_token/2 creates an API token for the user's account and stores it on the login, and the next poll of GET /api/auth/cli_session/<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 nerves_hub: from 2.5.0 before 2.5.3.

What this means for your architecture.

A CVE names a product. Whether it matters depends on where that product sits in your systems: what reaches it, which trust boundary it guards and what it can reach once compromised. Veriom maps your components, their relationships and your trust boundaries from your code, cloud and delivery evidence, so you can see where a component like this sits. The radar itself does not look at your systems.

Components it touches

  • Sign-in, session and token handling. The flaw sits between anonymous callers and authenticated sessions.
  • Identity providers and SSO. The flaw sits between anonymous callers and authenticated sessions.

Trust boundaries in play

  • Internet-facing entry points. No account is needed. Any instance reachable from outside your perimeter, through a load balancer, gateway, VPN or exposed admin port, is in scope.
  • People who open files and links. Mail, chat and browsers are the delivery path.
  • Isolation between components. The impact crosses out of the vulnerable component into others it should be isolated from.
  • Between anonymous callers and authenticated sessions. An attacker who crosses it can act as a signed-in user, or an administrator, without valid credentials.

Questions to answer about your own systems

  • Where does nerves-hub nerves_hub_web run in your systems, and at which version?
  • Which of those instances can be reached from the internet or partner networks?
  • What can it reach once compromised: which data stores, secrets and services?

Sources

  • CVE records and CVSS scores from the NVD CVE API. This product uses the NVD API but is not endorsed or certified by the NVD.
  • Exploitation status from CISA’s Known Exploited Vulnerabilities catalog.
  • Exploit likelihood from FIRST’s Exploit Prediction Scoring System (EPSS), refreshed daily.
  • Explanations are written by Veriom from fixed templates over each record’s data, not by a person reviewing each CVE. Descriptions are quoted from the records as published.