CVE-2026-120730 · Package
NO FIX YET · SEE WHAT TO DO
NervesHub's device API and dashboard forms accept organization, product and deployment IDs from the request without checking ownership. A user who manages devices in their own organization can place devices into another organization's deployment group and have them receive that organization's firmware download URL.
first public Nov 10, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Self-hosted or managed NervesHub deployments running nerves_hub from 1.0.0 before 2.5.3 where users can sign up or hold the manage role in some organization. The flaw lets an authenticated user reach devices, products and deployments belonging to other organizations via submitted org_id, product_id and deployment_id fields. Deployments where only trusted staff hold accounts in a single organization have a much smaller exposure.
Not affected if single-organization-trusted-users, version-2.5.3-or-later
Who cares elixir, firmware, iot, nerves-hub, nerves_hub, self-hosted
nerves_hub version in your deployment; it is affected from 1.0.0 before 2.5.3.nerves_hub 2.5.3Improperly Controlled Modification of Dynamically-Determined Object Attributes vulnerability in the device API, device forms, signing key and product forms and JITP settings in nerves-hub nerves_hub_web allows an authenticated user who manages devices in any organization to write into other organizations via submitted org_id, product_id and deployment_id fields. The device API create and update actions and the dashboard device forms pass the request parameters to NervesHub.Devices.Device.changeset/2, which casts the organization, product, deployment group and update state as given. The signing key and product forms merge the session's organization into the submitted parameters so that a submitted org_id wins, and the JITP changeset accepts any product_id. Each request requires the manage role only in the user's own organization, and any account can create one.
A device placed on another organization's deployment group, or moved into its product, is sent that organization's firmware with a download URL. The user cannot change or control devices that already belong to the other organization, and cannot upload firmware to it.
This issue affects nerves_hub: from 1.0.0 before 2.5.3.
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
This page as .md · .json · CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.