
2026/09/24 0:23
Radicle:ネットワークプロトコルにおける脆弱性の開示
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
2 つの重大なセキュリティ欠陥が、Radicle(ピアツーピア開発プラットフォーム)のすべての公開されたバージョンに影響しています。主な危険性は、以下の 2 つの特定の弱点から生じます。第一に、プロトコルはすべてネットワークトラフィックを平文で送信するため、ネットワーク経路にいる攻撃者がコードやメッセージなどの機密データを閲覧できるという問題です。第二に、破損した認証により、悪意のあるアクターが元の接続ルートに存在しなくても、プライベートリポジトリに直接アクセスするために有効なノードになりすますことが可能であり、この脆弱性は標準的な保護手段(Tor や VPN など)では軽減できません。これらの問題は、2026 年中盤〜後期に、Konstantinos Maninakis と cryptocode の研究者によって特定されました。これらバグの修正には、独自の実装である Noise ベースのプロトコルから、より高い信頼性、自動的なネットワークトラベル、回復性を備えた iroh にコアネットワーキングレイヤーを変更する必要があり、したがって開発者はこの問題を単にパッチ適用するだけでは済み、古い接続と互換性のない新しいメジャーバージョンへのアップグレードを行う必要があります。修正がデプロイされるまで、プライベートリポジトリを管理しているユーザーは、すべての送信データが本質的に漏洩しているため、直ちにネットワーク上でそれらを使用することを中止する必要があります。暗号化されていない認証情報やトークンを保存している方は、新しい接続の停止だけでは以前に曝露された情報のローカルコピーがストレージから消去されないため、すぐにそれらを回転させる必要があります。リスクをさらに軽減するために、デフォルトでシードポリシーが「allow」に設定されているユーザーは、
rad block コマンドを使用してリポジトリのシードポリシーを「block」に変更するべきであり、これは将来の曝露を防ぐものだが、過去の漏洩を取り消すものではないことに留意してください。本文
Radicle: ネットワークプロトコルの重大なセキュリティ脆弱性と対策
日付: 2026 年 9 月 23 日
概要
- 問題の発見
- Radicle ノードで使用されているネットワークプロトコルにおいて、重大なセキュリティ上の脆弱性 2 つが発見・報告されました。
- 現在リリースされている Radicle のすべてのバージョンが脆弱です。
- 脆弱性の本質
- ノード間をやり取りされるネットワークトラフィックは暗号化されておらず、認証もされていません。
- リポジトリ内容に対する署名付き参照(Signed References)による認証は有効ですが、転送中のオブジェクトが変更されたかどうかを検出する機能に依存するためです。
- 主な懸念点は情報漏洩であり、ネットワーク経路上にいる攻撃者が転送中のオブジェクトを閲覧可能になることです。
- 推奨対応
- 修正パッチがリリースされるまで、すべてのプライベートリポジトリの使用を停止することをお勧めします。
- リリース時期について
- 今回の脆弱性は実装レベル(ワイヤー)で互換性を欠くため、後方互換性のある緩和策の実施は不可能です。
- したがって、解決には**メジャーバージョンアップ(破断的なリリース)**が必要となり、現在は開発・調整中です。
脆弱性の詳細
1. プリングテキスト通信(暗号化なし)による情報漏洩
- 報告日: 2026 年 6 月 24 日 (Konstantinos Maninakis 氏)
- 問題内容
- 期待されていた機密性を保証していません。
- 2 つのノード間のネットワーク経路を監視できる攻撃者は、データが平文で送られてくるため、やり取りされるデータを閲覧可能です。
- 詳細情報
- 対策提案: 上流プロジェクトへの報告については以下の Issue を参照してください。
2. ピア認証の破損によるなりすまし(イムポースネーション)
- 報告日: 2026 年 8 月 12 日 (cryptocode 氏)
- 問題内容
- 接続ハンドシェイク時のピア認証が破損しており、なりすましが可能になっています。
- 攻撃者は自らのものではないノード ID を提示しながら、あなたのノードに接続できます。
- プライベートリポジトリは許可リスト(Allow-list)に登録されたノード ID のみと共有されます。
- 攻撃者がこの許可リストに登録されたノード ID のなりすましができれば、ネットワーク経路を介さずとも直接プライベートリポジトリを取得できてしまいます。
- 攻撃の手法
- 単独でのなりすまし攻撃には前提条件が必要です(許可リストに存在するノード ID を一つ知っている必要があるため)。
- 現実的には、以下の二つの欠陥を**同時 exploit(悪用)**した際が最も効果的です。
- 通信傍受: 接続の両端にあるノード ID を経由している攻撃者がデータを傍受・読み取り可能。
- なりすまし: 観測したノード ID を使用して、リポジトリ全体をオンデマンドで取得。
- あなたのノードと同期対象とするノードの間のネットワーク経路上にいるいかなる攻撃者も、これらを防ぐことはできません。
注意: 私たちはセキュリティアップデートが利用可能になる前にこの情報を公開しています。既に発生した情報漏洩の被害を取り戻すことはできないためです。
回避策(ワークアラウンド)
セキュリティアップデートがリリースされるまでの間に実施すべき措置です。
- プライベートリポジトリの停止
- ネットワーク経由でのプライベートリポジトリの使用を完全に停止してください。
- シード機能の一時停止
- プライベートリポジトリのシード機能を停止してください(後で再度利用できるよう、ストレージ上から完全に削除しないでください)。
- 秘密鍵と認証情報の再発行
- ネットワーク上で転送されたすべてのプライベートリポジトリは漏洩していると考えます。
- もし未暗号化の認証情報、キー、またはトークンを含まれていた場合は、必ず回転(再発行)を行ってください。
- VPN や Tor の効果の限界
- Tor、I2P、VPN などの追加暗号化経路は、データの保護手段としては不十分です。
- これらはネットワークトラフィックを隠蔽するだけであり、ピアのなりすましを防ぐことができません。
- 高度な攻撃によってプライベートリポジトリの内容が悪用される可能性があります。
プライベートリポジトリのシード機能を停止する方法
ストレージ内に保管されているプライベートリポジトリをリスト化し、個々のリポジトリのシードポリシーを**「ブロック」**に変更してください。
コマンド実行
- 推奨:
コマンドを使用します。rad block- あなたのノードのデフォルトポリシーが「許可」になっている場合、
を使用しない方が望ましいです。rad unseed - 注記:
はリポジトリに対してシードポリシーの適用を解除しますが、デフォルトが「ブロック」の場合のみ有効です。「許可」に設定している場合は、ノードは引き続きリポジトリを提供し続けます。rad unseed
は明示的なブロックを設定するため、どの場合でも確実に機能します。rad block
- あなたのノードのデフォルトポリシーが「許可」になっている場合、
注意点(限界事項)
以下の 3 点を理解しておく必要があります。
- ローカルコピーの保持
- あなたのノードがリポジトリを提供するのを止めますが、ローカルコピーを削除することはありません。
- コピーは
に残ります。完全に削除したい場合はそのディレクトリを削除してください。$(rad path)/storage/<RID without the rad: prefix>
- 他のピアへの影響
- 既に許可されたピアがダウンロードしたコピーには影響しません。
- それらのピアも同様に脆弱性を持っており、同様にリポジトリのブロックを設定するよう依頼する必要があります。
- 過去の漏洩は元に戻せない
- 過去に発生した情報漏洩を元に戻すことはできません。すでに同期されたデータは「開示済み」として扱ってください。
影響範囲
- 両方の欠陥はノードの実装レイヤー(トランスポート層)に存在しており、リポジトリのデータモデルには影響しません。
- Git オブジェクトや署名付き参照は、以前と同様にストレージ層で検証されます。
- 攻撃者はコードやアイデンティティを偽造することはできません。
- 機密性の欠如という問題は、リリースされている Radicle のすべてのバージョンに含まれていました。
解決策
現在、以下の方針で解決に取り組んでいます。
移行計画
- プロトコルの置換
- Radicle の独自のネットワークプロトコル(カスタム Noise)を、オープン標準に基づくピアツーピースタックであるirohに置換します。
- 移行の理由は以下の通りです。
- 今回の脆弱性の解消。
- iroh が提供する NAT Traversal などの機能により、ネットワークの信頼性及び堅牢性の向上。
- 後方互換性の欠如
- ネットワークトランスポートの変更は性質上、後方互換性がありません。
- ネットワークはアップグレード済みクラスターとアップグレード未実施クラスターに分断し、相互通信ができなくなります。
- アップデート経路の滑らかな確保
- ストレージのレイアウトを互換性のある状態に保ちつつ、破断の影響をネットワーク端に限定することで、アップグレード経路をスムーズにするよう努力しています。
- この変更によりメジャーリリースとなります。
謝辞
これらの脆弱性を私たちに責任を持って報告し続けた以下の両氏に感謝申し上げます。
- Konstantinos Maninakis
- cryptocode
セキュリティに関する不具合の報告をご希望の場合は、以下をご覧ください: