
CVE-2025-1242: ハードコードされた iothubowner Connection String — Gardyn Home Kit (ICSA-26-055-03)
| フィールド | 値 |
|---|---|
| CVE | CVE-2025-1242 |
| ICSA | ICSA-26-055-03 |
| CVSS 3.1 | 9.1 (重大) |
| ベクター | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| CWE | CWE-798 (ハードコードされた認証情報の使用) |
| 研究者 | Michael Groberman — Gr0m |
| 公開日 | 2026-02-24 |
| フィールド | 値 |
|---|---|
| ベンダー | Gardyn |
| 製品 | Gardyn Home Kit 1.0, 2.0, 3.0, 4.0; Gardyn Studio 1.0, 2.0 |
| コンポーネント | クラウドAPI、モバイルアプリケーション、デバイスファームウェア |
| 影響を受けるバージョン | ファームウェア < master.622、モバイルアプリ < 2.11.0、クラウドAPI < 2.12.2026 |
Azure IoT Hubの管理用認証情報(iothubowner 共有アクセスポリシー)は、認証不要のAPI応答、モバイルアプリケーションのリバースエンジニアリング、デバイスファームウェアの解析など、複数の経路を通じて抽出可能です。この認証情報は、アーキテクチャ上すべての登録済みデバイスを管理するGardyn IoT Hubに対する管理制御を提供します。
iothubowner 共有アクセスポリシーは、Azure IoT Hubで最も高い権限を持つ認証情報です。以下を許可します。
Microsoftのドキュメントには次のように記載されています。 「iothubowner ポリシーはすべての権限を持ち、細心の注意を払って使用する必要があります。これはバックエンドサービスの管理専用であり、クライアントに配布してはなりません。」
単一の iothubowner 接続文字列により、Gardyn IoT Hubへの管理アクセスが可能になります。
認証情報は、複数の独立したチャネルを通じて露出していました。
1. 認証不要のAPIエンドポイント
認証不要のデバイスプロビジョニングエンドポイントが、管理用認証情報を任意の呼び出し元に返していました。認証は不要でした。このエンドポイントはインターネット上の誰でもアクセス可能でした。
リクエスト詳細は削除済み — 攻撃者による悪用を減らすため、具体的なエンドポイントパス、フィールド名、リクエスト構造はこの公開情報から削除されています。
その後、管理用認証情報フィールドはこのエンドポイントの応答から削除されました(部分的な修正)が、エンドポイントは依然として認証なしでデバイスレベルの認証情報を返しています。
2. 認証不要のユーザー列挙エンドポイント
認証不要のユーザー一覧エンドポイントが、登録されている全134,215ユーザーの完全なレコードを返していました。すべてのレコードに管理用認証情報が含まれており、単一のAPI応答に134,215件のコピーが存在しました。
リクエスト詳細は削除済み — 攻撃者による悪用を減らすため、具体的なエンドポイントパスとフィールド名はこの公開情報から削除されています。
このエンドポイントは、すべてのユーザーの機微な個人情報(氏名、メールアドレス、電話番号、部分的な支払いカード番号、連番のユーザーID(IDORを可能にする)、デバイスID、接続認証情報)も露出させていました。
CISA ICSA-26-055-03によると、この露出経路は公開された修正バージョンで改善されています。
3. モバイルアプリケーション
認証情報はReact Nativeアプリケーションバンドル(index.android.bundle内のHermesバイトコード)に埋め込まれています。また、Firebase Remote Configを介して配布されており、デバッグビルドでは認証情報がAndroidのlogcatに記録されます。
4. デバイスファームウェア
接続文字列は、/usr/local/etc/gardyn/ 下のデバイスファームウェアファイルに存在し、初期化中にクリアテキストでsyslogに記録されます。
この認証情報は少なくとも2019年5月以降(APIエンドポイントの利用可能性に基づき6年以上)露出していました。ベンダーは以前のIoT Hub([REDACTED — IoT Hub名])から現在のハブ([REDACTED — IoT Hub名])に移行しましたが、同じ共有アクセスキーを再利用していたため、元の露出期間中に認証情報を取得した人は誰でもアクセスを維持できます。
ベンダーは、影響を受けるエンドポイントにアクセスログが存在しなかったことを確認しており、6年以上の露出期間中の不正アクセスの範囲は特定できません。
ベンダーはCISAに対し、露出期間中、影響を受けるエンドポイントにアクセスログが存在しなかったと述べました。ベンダーの公開セキュリティページは https://mygardyn.com/security/ です。
iothubowner 認証情報を持つ攻撃者は以下が可能です。
upgrade() メソッドを含む、CVE-2025-29631)CVE-2025-29631と組み合わせることで、この認証情報は共有認証情報を使用するデバイス上でのルート権限によるリモートコード実行を可能にします(研究者自身のデバイスで確認済み)。
この認証情報は、IoT Hubホスト名と組み合わせることで、影響を受けるGardynデバイスフリートを管理するIoT Hubへの直接的な管理アクセスを許可していました。iothubowner 認証情報の機能はMicrosoftによって文書化されています(影響および参考文献のリンク先Azureドキュメントを参照)。CISAはこのCVEをCVSS 9.1(重大)と評価しました。
ICSA-26-055-03内の他のCVEは独立した発見として文書化されています。この認証情報の露出は、それらの脆弱性とは別個の問題ですが、複数の発見を保有する単一の攻撃者がシナリオによってはそれらを組み合わせる可能性があります。
Microsoft自身のドキュメントには明確に次のように記載されています。 「iothubowner ポリシーはすべての権限を持ち、細心の注意を払って使用する必要があります。これはバックエンドサービスの管理専用であり、クライアントに配布してはなりません。」
デバイス所有者向け推奨緩和策:
ベンダー向け推奨修正:
iothubowner 共有アクセスキーを直ちにローテーションする| 日付 | イベント |
|---|---|
| 2025-10-14 | ベンダーへの最初の開示 |
Michael Groberman — Gr0m が CISA に報告しました。
| 権限 | 説明 | リスクレベル |
|---|
| RegistryRead | デバイスレジストリの読み取り(全デバイスの列挙) | 高 |
| RegistryWrite | デバイスレジストリの変更(デバイスの追加/削除) | 重大 |
| ServiceConnect | クラウドからデバイスへのメッセージの送信 | 重大 |
| DeviceConnect | デバイスからクラウドへのメッセージの送信(任意のデバイスを偽装) | 重大 |
| ServiceInvoke | 任意のデバイスでのダイレクトメソッドの呼び出し | 重大 |
| サービス | 目的 |
|---|
| Azure IoT Hub Device Provisioning Service (DPS) | X.509証明書を使用したデバイスごとの自動認証情報プロビジョニング |
| スコープ付き共有アクセスポリシー | 最小権限のアクセスポリシー(例: device、service、registryRead) |
| Azure Monitor / IoT Hub診断 | IoT Hub操作のアクセスログと異常検知 |
| 2025-12-11 |
| CERT/CCへの開示 |
| 2026-01-22 | iothubowner Azure IoT Hub管理用認証情報がローテーション(観測可能: 以前配布されたキーが機能停止) |
| 2026-02-24 | ICSA-26-055-03公開(初版) |
| 2026-04-02 | ICSA-26-055-03 Update A |