nerves_hub_webに認証済みユーザーが他組織のデバイスやファームウェアへ書き込める脆弱性
Summary
nerves_hub_webには、認証済みユーザーが送信するorg_id・product_id・deployment_idを介して、他組織へ書き込める脆弱性があります。影響を受けるのはnerves_hubの1.0.0から2.5.3より前の版で、他組織のデバイスが他組織のファームウェアを受け取る状態になるおそれがあります。修正版はc367d7d17d07f843e78a70d15904665616dde964で、更新して対応してください。
AI summary
Produced by SecPulse using an external AI model; it may contain mistakes. Check the original description and references below before acting on it.
nerves_hub_webには、認証済みユーザーが送信するorg_id・product_id・deployment_idを介して、他組織へ書き込める脆弱性があります。影響を受けるのはnerves_hubの1.0.0から2.5.3より前の版で、他組織のデバイスが他組織のファームウェアを受け取る状態になるおそれがあります。修正版はc367d7d17d07f843e78a70d15904665616dde964で、更新して対応してください。
Affected packages
| Package | Affected → Fixed | |
|---|---|---|
| nerves-hubnerves_hub_web |
≥ f58d58233dbd355c58d3a140107ece18e8863f14, < c367d7d17d07f843e78a70d15904665616dde964→ c367d7d17d07f843e78a70d15904665616dde964 |
c367d7d17d07f843e78a70d15904665616dde964 |
Original description The description as published by the source.
Summary
Improperly 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.
Details
1. Device API and device forms. NervesHubWeb.API.DeviceController.create/2 sets org_id and product_id from the route, then hands the rest of the request to Device.changeset/2; update/2 hands the whole request over. The changeset casts org_id, `pr…
Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory
References
- web github.com
- web cna.erlef.org
- web osv.dev
- web github.com
- web github.com