HN 日本語サマリー

← 一覧へ戻る
セキュリティ

TP-Link Kasaカメラ、6年間にわたり認証なしUDP経由で自宅GPS情報を漏洩

TP-Link Kasa cameras leaked home GPS via unauthenticated UDP for 6 years (github.com)

201 pointsby BadChemical82 コメント

要約

TP-Link Kasa Spot EC71カメラのファームウェアに、6年以上にわたり認証なしUDP経由でGPS位置情報が漏洩する脆弱性が存在したことが明らかになりました。この問題は、ハードコードされたRSA秘密鍵や、平文で保存されるユーザー認証情報といった他の脆弱性と共に、ファームウェアバージョン2.4.1で修正されました。しかし、同様のGPS漏洩問題は過去にもTP-Linkの別製品で確認されており、包括的なセキュリティ対策の欠如が指摘されています。

全文翻訳

セキュリティアドバイザリ: Kasa Spot EC71 (ファームウェア 2.3.26) 著者: Christopher Childress (BadChemical) ステータス: パッチ適用済み、CVE-2026-9770 (RSA/IAM) および CVE-2026-13230 (GPS) は 2.4.1 で修正済み。 ベンダー: TP-Link Systems Inc. / Kasa 製品: Kasa Spot EC71 ファームウェアバージョン: 2.3.26 (ビルド日: 20240425, リリースID: 33797) パッチ適用済みファームウェア: 2.4.1 CVE: CVE-2026-9770 / CVE-2026-13230 公開日: 2026年7月16日 法的免責事項 このリポジトリには、TP-Link Kasa Spot EC71屋内カメラのパッチ適用済み脆弱性の概念実証 (Proof of Concept) が含まれています。この情報は、教育目的および防御的研究のためにのみ公開されます。ベンダーには、2026年1月5日に標準的な協調脆弱性開示 (Coordinated Vulnerability Disclosure) プロトコルに従って連絡されました。3つの主要な発見事項、すなわち、フリート全体で共通のRSAキー、ソルトなしのMD5による認証情報保存、および認証なしのGPSデータ公開は、6ヶ月にわたる協調開示期間中に実施された複数コンポーネントのアーキテクチャ再設計を経て、v2.4.1で修正されました。すべてのデバイス固有の識別子、認証情報ハッシュ、およびグローバルな秘密鍵は、悪用を防ぐために大幅に編集されています。 概要 Kasa Spot EC71の包括的なセキュリティ分析により、デバイスの機密性、完全性、および可用性を侵害する複数の脆弱性が明らかになりました。ファームウェアは、CH341Aプログラマーを使用してSPIフラッシュチップから直接読み取ることで物理的に抽出され、その後、アクティブなネットワークパケット分析とハードウェア分析が行われました。暗号化の失敗、安全でない認証情報の保存、および正確な位置データの認証なし公開という3つの主要な脆弱性チェーンが確認され、6ヶ月にわたる協調開示期間中のアーキテクチャ再設計を経てv2.4.1で修正されました。開示プロセスには、記録されたトリアージの失敗やファームウェア検証が含まれ、その結果、ハードウェアレベルでの復旧が必要な、テストデバイスが永久にブリック状態になりました。このアドバイザリで文書化されているGPSの公開は、TP-Linkのカメラ製品ライン全体で2020年8月から、基盤となる認証なしプロトコルについては2016年7月から公知でした。TP-Linkは2020年11月にスマートプラグ製品ラインで同様の脆弱性クラスを修正しましたが、カメラ製品ラインにはその修正を適用しませんでした。このアドバイザリは、包括的なアーキテクチャセキュリティレビューではなく、標的を絞った段階的な修正のパターンを文書化しています。二次市場での攻撃経路により、工場出荷時設定にリセットされたデバイスから、以前の所有者の認証情報とGPS座標を回復することが可能になります。 協調開示タイムライン 日付 イベント 2026年1月5日 製品セキュリティチームに最初のセキュリティアドバイザリを送信 2026年1月14日 ベンダーがレポートを承認し、プロダクションファームウェアバージョン (v2.3.26) を確認 2026年1月16日 ベンダーが詳細とPoCスクリプトを要求。次期ソフトウェアリリースで「ローカル通信TLS証明書に関連する問題」を修正すると約束 2026年1月27日 ベンダーが発見事項1 (RSAキー) と発見事項2 (安全でない認証情報) を確認。発見事項4、5、6、7は、CNA運用規則4.1.2に基づき、受け入れ済みリスク/範囲外としてクローズ 2026年1月30日 ベンダーがCVE割り当てのためのCNA役割を確認。クロスドメイン侵害の影響をエスカレート 2026年3月23日 ベンダーがクロスシステムアーキテクチャ再設計のため、6月初旬までの延長を要求。延長を承認。追加のGPS発見事項をPoCスクリプトと共に提出 2026年3月24日 ベンダーがGPS発見事項のために内部チケットTPVD20260324001を作成 2026年4月21日 ベンダーがGPS発見事項を承認し、別の開示タイムラインに分割。進捗状況の更新を提供すると約束 2026年5月23日 ステータスフォローアップを送信。ベンダーの約束にもかかわらず、2ヶ月間マイルストーンの更新なし 2026年5月29日 ベンダーのTPVD20260324001に対するトリアージ応答で、報告されたペイロードやデバイスJSON応答に存在しないMD5ハッシュフィールドが参照され、応答前に発見事項がレビューされていなかったことを確認 2026年5月29日 ビデオPoCを添えて反論を提出し、トリアージの失敗を文書化 2026年6月5日 ベンダーがGPS開示期限の無期限延長を要求。延長は拒否。6月22日の期限を確認 2026年6月5日 ベンダーがCVE-2026-9770アドバイザリを月曜日または火曜日までに公開すると確認。アドバイザリは公開されず 2026年6月10日 ベンダーが、60%のグレースケール展開でのパフォーマンス不安定性により、CVE-2026-9770ファームウェアのロールバックを公開。6月30日までの延長を要求。検証用のベータファームウェアを提供。GPS修正の複雑さに関する最初の実質的な技術的コンテキストを提供 2026年6月11日 CVE-2026-9770の embargo を6月30日まで延長。GPS開示はトリガーイベントベースに変換: CVE-2026-9770アドバイザリおよびファームウェアリリースと同時に公開。ベータ検証を受け入れ 2026年6月15日 ベータファームウェア2.4.00 OTAにより、テストデバイスが永久に応答不能になる。工場出荷時リセットは機能せず。LEDパターン: 約25回の緑色の点滅の後、1回の赤色の点滅を繰り返し 2026年6月19日 ベンダーが、エンジニアリングレビュー後、ソフトウェアによる復旧パスがないことを確認。交換デバイスの払い戻しを手配 2026年6月21日 交換デバイスを受領 2026年6月24日 ベータファームウェア2.4.1を交換デバイスにステージング。ベータKasaアプリをTestFlight経由で提供 2026年6月25日 ベータ2.4.1の検証を完了。すべての主要な発見事項が修正されたことを確認 2026年6月26日 ベンダーが、1.5〜2週間かけて段階的にロールアウト中であることを確認。ロールアウト完了時にCVE発行を計画 2026年7月10日 ステータスアップデートを送信、来週の公開を予定 2026年7月14日 公開、GPS CVE発行 CVE-2026-9770 ベンダーCVSS 4.0: 8.6 注: CVE-2026-9770は、以下の両方の発見事項をカバーするためにTP-LinkによってCNAとして割り当てられました。これらは、個別のCWEと独立した攻撃経路を持つ、別個の脆弱性を表します。 発見事項1 — ハードコードされたRSA秘密鍵 CWE: CWE-321 / CWE-327 ステータス: ファームウェア 2.4.1 でパッチ適用済み 説明: ファームウェアには、2つのSquashFSレイヤーにわたる、フリート全体で共通のRSAキー/証明書のペアが2組含まれています。プライマリSquashFSのsquashfs-rootには、2014年に発行され、2024年7月に期限切れとなった、SHA1で署名されたレガシー1024ビットRSAキー/証明書のペアが含まれています。セカンダリSquashFSレイヤーのsquashfs-root-0には、2021年に発行され、2031年7月まで有効な、SHA256で署名されたアクティブな2048ビットRSAキー/証明書のペアが含まれています。両方のキー/証明書のペアは、公開鍵の比較により整合性が確認されました。両方ともフリート全体で共通であり、このファームウェアビルドを実行するすべてのデバイスで同一です。デバイスは実行時に2021年の証明書を提供します。両方の秘密鍵はSPIフラッシュから抽出可能です。 影響: squashfs-root-0に含まれるアクティブな2048ビットRSA秘密鍵は、SPIフラッシュ経由でEC71ユニットから抽出可能であり、このファームウェアビルドを実行するすべてのデバイスで同一です。このキーは、デバイスが実行時に提供する証明書に対応します。いずれかのデバイスからこのキーを抽出した攻撃者は、展開されているフリート全体に対する暗号化マテリアルを所有することになります。2014年のレガシー1024ビットキー/証明書ペアもプライマリSquashFSに存在しますが、これは期限切れの証明書に対応しており、実行時にはもはや提供されず、実用的な悪用価値はありません。ローカルのアプリ対デバイストラフィックに対するARPスプーフィングMITM試行ではデータが傍受されなかったため、プライマリ通信はクラウドを経由する可能性があることが示唆されました。抽出されたフリート全体で共通のキーをアクティブトラフィック傍受に実用的に悪用できるかは実証されていません。ベンダーは、2026年1月16日の応答で、これを「ローカル通信TLS証明書に関連する問題」と特徴付けました。 発見事項2 — ユーザーパスワードの安全でない保存とクロスドメイン侵害 CWE: CWE-916 ステータス: v2.4.1 でパッチ適用済み 説明: ユーザーのクラウドアカウント認証情報は、2つのファイルシステムパーティションにわたるソルトなしMD5ハッシュとして config/account に保存されます。読み取り専用のSquashFSファイルシステムには、プレースホルダー値として工場出荷時のデフォルト認証情報 (admin/admin) が含まれています。実行時には、jffs2オーバーレイがこのファイルをプレーンテキストの認証済みユーザーの実際のTP-Link IDメールアドレスで上書きし、パスワードはソルトなしMD5ハッシュとして保存されます。 クロスドメインへの影響: TP-Linkの公開情報「TP-Link IDは、単一のメールアドレスを使用してTにアクセスできるようにする統合認証サービスを提供します」によると、