Skip to main content
← Vulnerabilities

Incorrect authorization in the devices page bulk move allows view-role members to move devices into another organization and receive its…

Affects nerves_hub_web from 1.0.0 before 2.5.3, where a user holds the manage role in one organization and only the view role in another. Fixed in 2.5.3.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

7.1HighCNA
Exploited
No known exploitation
Fix
Fixed in 2.5.3
Who is exposed
Specific setups only

Do first: Check whether your setup matches what the bug needs. Attacker must hold the manage role in one organization and only the view role in another organization Affected nerves_hub versions from 1.0.0 before 2.5.3

Published
Last modified
Reference
Last checked
15/100 · provisional
Specific setups only
None on Exploit-DB, Metasploit or GitHub

Summary

A user with low-privilege login access over the network, who has manage rights in one organization and only view rights in another, can move devices into the second organization and receive its firmware download URLs, which a view-role user could not otherwise get. The bug affects nerves_hub's devices page bulk move action, and it needs no user interaction.

Read the original description

Incorrect Authorization vulnerability in the devices page bulk move in nerves-hub nerves_hub_web allows an authenticated user with the manage role in one organization and only the view role in another to move devices into the second organization's product via the "Move device(s) to product" action. The target-product event in NervesHubWeb.Live.Devices.Index looks the product up with NervesHub.Products.get_by_id/2, which checks that the user is a member of the product's organization at any role, and move-devices-product then changes each selected device's organization and product. The device API's move requires manage in the target organization, and an earlier fix added the check on the organization the devices leave but not on the one they enter.

A moved device keeps its key and certificate, joins the target organization's matching deployment groups, and is sent their firmware with a download URL, which the view role cannot otherwise obtain. The user cannot change or control devices that already belong to the other organization.

This issue affects nerves_hub: from 1.0.0 before 2.5.3.

cve.now Index

15Pcve.now Index 15 of 100 · methodology v3 · provisional
  • Exploitation?/40Unknown. No CISA SSVC exploitation rating yet
  • Exposure8/25Specific setups only, reachable over the network
  • Reach?/20Unknown. No tracked technology or package matched
  • Severity7.1/10CVSS 7.1
  • No patch0/5No signal

What would change the score

  • Would score about 65 if added to CISA KEV
  • Would score about 60 if CISA's SSVC rates exploitation active
  • Would score about 22 if CISA's SSVC rates it automatable

What to do

  • Check whether your setup matches what the bug needs.

    Attacker must hold the manage role in one organization and only the view role in another organization Affected nerves_hub versions from 1.0.0 before 2.5.3
  • Upgrade to a fixed version: 2.5.3.

Check your systems with an agent

Paste this into a coding or ops agent. It checks your systems read-only and reports a table per asset.

Check whether my systems are affected by CVE-2026-120295 (Incorrect authorization in the devices page bulk move allows view-role members to move devices into another organization and receive its…), using the cve.now data below.

Rules: work read-only. Do not run exploit code, proof-of-concept scripts or scanners that send attack payloads, and do not change any configuration, package, image or deployment. Report findings only.

What cve.now has for CVE-2026-120295 (entry last updated 2026-11-10):
Affected:
- nerves-hub nerves_hub_web: from 1.0.0, fixed in 2.5.3
- nerves-hub nerves_hub_web: from 1.0.0, fixed in 2.5.3
- nerves-hub nerves_hub_web: version range not reported
Fixed versions: 2.5.3.
Conditions (all must be true for the bug to be hit):
- Attacker must hold the manage role in one organization and only the view role in another organization (source: https://cna.erlef.org/cves/CVE-2026-120295.html)
- Affected nerves_hub versions from 1.0.0 before 2.5.3 (source: https://cna.erlef.org/cves/CVE-2026-120295.html)
Setup: unknown whether the bug needs a non-default feature or setting. Check the advisory.
Attacker needs: network access, low-privilege login, no user action.
CISA KEV: CVE-2026-120295 is not listed as of cve.now's last read.
This KEV status is for CVE-2026-120295 only. If you also check another CVE, look up its own KEV status; never assume it from this one.

How to check:
- Installed software: check what is actually running, not what a repo declares. Read the version from each host, container image and Kubernetes node (the binary's version output, the OS package database, image layers), and check whether the conditions above hold there. Distribution packages may carry a backported fix under an older version number; confirm against the distribution's own advisory.

Verify against the linked advisories before concluding, and cite the date you read each one:
- https://github.com/nerves-hub/nerves_hub_web/security/advisories/GHSA-2j7r-q3vm-8j34
- https://github.com/nerves-hub/nerves_hub_web/commit/1bc8be875ab6b1eb904e5ff60c8a1421c5c700fa
- https://cna.erlef.org/cves/CVE-2026-120295.html
- https://osv.dev/vulnerability/EEF-CVE-2026-120295
- https://github.com/nerves-hub/nerves_hub_web/commit/adaeefdb7a835525482588f43332ef988cc448c7
- https://github.com/nerves-hub/nerves_hub_web/commit/79743ef08f7f801617b653fd09f37c01ed9b4be0
Do not conclude an asset is unaffected unless you checked it and the evidence covers both its version and the conditions above. If you could not check something, mark it unknown and say what is missing.

Report a table with one row per asset and these columns: Asset | Version or build | Status (affected, fixed, not applicable, unknown) | Compensating controls | Exposure (internet-facing, internal, none) | Evidence | Next action.

Entry: https://cve.now/CVE-2026-120295
For follow-up questions, use the cve.now MCP server at https://mcp.cve.now/mcp (no authentication), for example get_vulnerability with id CVE-2026-120295.

Timeline

  1. CVE published
  2. First seen by cve.now

Affected versions

  • nerves-hub/nerves-hub

    From 1.0.0 · fixed in 2.5.3

  • nerves_hub

    From 1.0.0 · fixed in 2.5.3

  • nerves-hub/nerves_hub_web

    Version range not reported

Evidence 8

Vendor advisory · 1

Establishes: Affected and fixed versions.

  1. Advisory

CVE record · 2

Establishes: The identifier and description.

  1. Record
  2. Record

Other links · 5

  1. Patch
  2. Repository
  3. Repository
  4. Link
  5. Link

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

Questions about CVE-2026-120295

Is CVE-2026-120295 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data

What does this mean?

A user with the manage role in one organization and only the view role in another can move their own devices into the second organization. There the devices join its matching deployment groups and receive its firmware with a download URL, which the view role cannot otherwise obtain.Source: cna.erlef.org, github.com

Which versions are affected by CVE-2026-120295?

nerves-hub/nerves-hub: from 1.0.0 before 2.5.3. nerves_hub: from 1.0.0 before 2.5.3.Source: cve.now feed data

Am I affected, and how do I check?

The issue covers nerves_hub_web versions from 1.0.0 before 2.5.3. To check, compare the installed nerves_hub_web version against that range; the flaw also requires a user holding manage in one organization and only view in another.Source: cna.erlef.org, github.com

How do I fix CVE-2026-120295?

Upgrade nerves_hub_web to 2.5.3 or later, which contains the fix (commit 1bc8be875).Source: cna.erlef.org, github.com