UmbrellaX プライベート ベータ アップデート
セキュリティのレビュー中に、暗号化と安全な通信に使用されるいくつかのオープンソース ライブラリに重大な問題が見つかりました。ローカル修正は準備ができていますが、完全な検証と独立したレビューがまだ必要です。これらのリスクが解消されたと確信できるまでは、ベータ版をリリースしません。
ここに平易な言葉で完全なリストを示します。セクションを開いて、何が問題になる可能性があるか、日常的な例、パッチ リファレンスを確認します。
復号化されたグループ シークレットは、メモリまたは診断に余分なコピーを残す可能性があります。不正な暗号文、ウェルカム メッセージ、提案、更新パス、ローカル キーの欠落、乱数エラー、異常なシステム時間、およびエポック制限により、安全なエラーが返されずにアプリが終了する可能性があります。一部のツリーの整合性とパス長チェックも、すべてのリリース パスで保証されていませんでした。
たとえば、ネットワークから受信した壊れたグループ更新は、メッセンジャーを閉じたり、整合性チェックをスキップしたり、クラッシュ レポートでメッセージ バイトを公開したりせずに拒否する必要があります。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: openmls 0.8.1 | UMB-117, UMB-118, UMB-120, UMB-121, UMB-125, UMB-128, UMB-129, UMB-130, UMB-131, UMB-132, UMB-133, UMB-134, UMB-135, UMB-136, UMB-137, UMB-138, UMB-139
MLS レコードを削除または置換すると、シリアル化されたコピーや非表示の提案本文がメモリ内に残る可能性があります。グループ スナップショットにはスコープ指定されたアトミック置換が必要で、デバッグ アクセスには編集が必要で、オプションの永続モードでは、認証された暗号化データの代わりに読み取り可能なエンコードされたテキストが保存されました。
たとえば、グループを削除すると、その非表示の保留中の提案も削除する必要があります。また、ストレージ オプションは、データを読み取り可能なテキストに変換するだけの場合、暗号化されているように見えてはなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: openmls_memory_storage 0.5.0 | UMB-119, UMB-212, UMB-213, UMB-214
未使用のオプションのバックエンドが依然として脆弱なパッケージを依存関係インベントリに取り込みました。 HPKE のプライベート マテリアルにも、より強力な編集とメモリのクリーンアップが必要でした。
たとえば、使用しないバックエンドは、既知の脆弱性のあるパッケージをリリースに組み込むべきではありません。また、エラー出力には HPKE 秘密キーが含まれていてはなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: hpke-rs 0.6.1 | RUSTSEC-2026-0124
ランダム ジェネレーターと一時的な HPKE 値は実際のクリーンアップが必要でした。認証された復号化に失敗すると、部分的に変更された平文バッファがメモリ内に残る可能性もあります。
たとえば、メッセージが認証に失敗した場合、処理途中の平文バッファは直ちに消去される必要があります。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: hpke-rs-rust-crypto 0.6.1 | UMB-122
ランダムな状態、キー導出出力、秘密キーのバイト、および失敗した暗号化バッファーはクリーンアップが必要でした。無効なノンス長とサポートされていないキー交換リクエストは、プロセス終了パスに到達する可能性があります。
たとえば、不正な nonce は、メッセンジャーを閉じる代わりに、通常のエラーを返さなければなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: openmls_rust_crypto 0.5.1 | UMB-122, UMB-123, UMB-124
nonce、共有、スカラー バイト、および一時的に読み取り可能な秘密文字列の署名には、成功パスとエラー パスのクリーンアップが必要でした。使用されていない機能によって、維持されていない依存関係チェーンもプルされました。
たとえば、グループ署名に使用される一時値は、署名が終了または失敗した後もメモリ内に読み取り可能な状態のままであってはなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: frost-core 3.0.0 | local audited patch
破棄された擬似乱数キーと中間キー拡張ブロックは、最終キーが生成された後もメモリ内に残る可能性があります。
たとえば、セッション キーの準備ができたら、それを導出するために使用された一時的な要素を消去する必要があります。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: hkdf 0.12.4 | local compatibility backport
互換性のある HMAC ブランチ内の派生キー ブロック、オーバーサイズ キー ダイジェスト、および内部ハッシュ結果が通常のメモリに残る可能性があります。
たとえば、メッセージが本物であることを検証する際に、再利用可能なキー由来のバイトを残すべきではありません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: hmac 0.12.1 | local compatibility backport
利用可能なクリーンアップ オプションはデフォルトではオフになっており、一時的な状態と保存されたキー派生状態の一部のみをカバーしていました。
たとえば、認証チェックを完了すると、一時ブロックと保存されたキー派生ブロックの両方が消去されるはずです。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: hmac 0.13.0 | local audited patch
SHA-256 および SHA-512 の動作状態およびブロック カウンターには、互換性のあるブランチでのドロップタイム クリーンアップが必要でした。
たとえば、キー導出中にシークレットをハッシュする場合、ハッシュ エンジンの動作状態を再利用可能なメモリに残すべきではありません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: sha2 0.10.9 | local compatibility backport
入力が破損すると、大量の割り当てが要求されたり、宣言されたフィールドを超えて読み取られたり、進行せずにループしたり、オーバーフローやパニック パスがトリガーされたりする可能性があります。シークレット ベクトル診断と部分的に失敗した入力もクリーンアップが必要でした。
たとえば、巨大なフィールドが含まれていると誤って主張する小さなメッセージが大量のメモリを消費したり、アプリを無限ループに閉じ込めたりしてはなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: tls_codec 0.4.2 | local audited patch
STUN メッセージ整合性キーは診断で出力される可能性がありますが、一時的な認証情報テキストでは明示的に消去されませんでした。
たとえば、接続エラー ログから、リレー要求の認証に使用される秘密が明らかになることはできません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: stun 0.17.1 | audit patch 6e5cbb42
長期間有効な TURN パスワードは通常の文字列として保存されており、クライアントが破棄されたときに明示的に消去する必要がありました。
たとえば、通話を終了しても、古いクライアント オブジェクトのメモリにリレー パスワードを残すべきではありません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: turn 0.17.1 | audit patch 6e5cbb42
TURN のユーザー名とパスワードは通常の文字列として保存され、ICE デバッグ出力に自動的に出力されました。
たとえば、通話接続レポートには資格情報が存在すると記載されている場合がありますが、ユーザー名とパスワードを出力してはなりません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: webrtc-ice 0.17.1 | audit patch 6e5cbb42
メディア キー導出入力、導出キー、保存された SRTP/SRTCP ソルト、および暗号の動作状態には、信頼性の高いクリーンアップが必要でした。
たとえば、暗号化された通話が終了した後、その一時的なメディア キーとソルトを通常のバッファーに残すべきではありません。
ローカル修正が準備され、検証が進行中です。
技術的な詳細: webrtc-srtp 0.17.1 | audit patch 6e5cbb42
ベータのメモとアクセス更新は、私の個人Xアカウントでお知らせします。