Skip to content

BLE preference server が無認証で任意のPreference書き込みを受け付ける #505

Description

@meganetaaan

概要

#399 のP0指摘(#1)の子Issueです。PR #497 のリアーキテクチャ後もパスが変わっただけで未対応のため、単独Issueとして切り出します。

firmware/host/modules/connectivity/preference-server.ts の receiveAndSetPreference() は、BLE経由で受信した domain.key / value をチェックなしで Preference.set します。

  • ペアリング・認証・確認ステップが一切なく、BLE到達圏内の誰でも Wi-Fi 認証情報(wifi.ssid/wifi.password)、APIトークン(ai.token/tts.token)、TTS接続先(tts.host)などを書き換え可能
  • domain のホワイトリストも無いため、PREF_KEYS に無い任意 domain への書き込みも通る

対応案

  • 書き込みは物理操作(ボタン長押し等)で明示的に有効化した時間窓のみ受け付ける(opt-in window)、またはペアリング/パスキー必須にする
  • 書き込み可能な domain/key を PREF_KEYS ベースのホワイトリストで制限する

関連

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions