【活用ガイド】

JVNDB-2026-004040

NervesHubにおける不十分なランダム値の使用に関する脆弱性

概要

NervesHubは、ユーザーが現地のデバイスのOTA(Over-The-Air)ファームウェア更新を管理できるウェブサービスです。バージョン1.0.0から2.3.0未満の間に存在していた脆弱性により、攻撃者は以前に発行されたトークンの形式が予測可能であったため、ユーザーのAPIトークンをブルートフォースで解読することが可能でした。トークンにはユーザーを特定可能な要素が含まれており、暗号的に安全ではなかったため、推測や列挙に対して脆弱でした。この脆弱性によって、これらのトークンで保護されているユーザーアカウントやAPI操作に不正アクセスされる恐れがありました。修正はNervesHubのバージョン2.3.0で提供されています。このバージョンでは、強力な暗号的乱数トークンを生成するために`:crypto.strong_rand_bytes/1`が使用され、データベースに保存する前にトークンをハッシュ化することで、データベースが侵害されても悪用を防ぐ措置が取られています。また、セッションとAPIトークンを区別するためにコンテキスト認識型トークン保存が実装されています。この問題に対する実質的な回避策はアップグレード以外にありません。敏感な環境では、一時的な緩和策としてNervesHubサーバーへのアクセスをファイアウォールで制限し、アップグレードが可能になるまで露出を抑えることができます。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 9.8 (緊急) [NVD値]
  • 攻撃元区分: ネットワーク
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 不要
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


NervesHub
  • NervesHub 1.0.0 以上 2.3.0 未満

本脆弱性の影響を受ける製品の詳細については、ベンダ情報および参考情報をご確認ください。
想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。
ベンダ情報

GitHub
CWEによる脆弱性タイプ一覧  CWEとは?

  1. 不十分なランダム値の使用(CWE-330) [その他]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2025-64097
参考情報

  1. National Vulnerability Database (NVD) : CVE-2025-64097
  2. 関連文書 : Release v2.3.0  nerves-hub/nerves_hub_web  GitHub
  3. 関連文書 : A revamp of our user token storage and management by joshk  Pull Request #2024  nerves-hub/nerves_hub_web  GitHub
更新履歴

  • [2026年02月19日]
      掲載