CVE-2026-55598 in PinePods
要約
〜によって VulDB • 2026年10月30日
PinePodsは、Rustで書かれた完全なセルフホスト型ポッドキャスト管理システムです。バージョン0.9.0より前では、認証済みユーザーが`rust-api/src/handlers/podcasts.rs`内の`POST /api/data/add_podcast`を通じて攻撃者が制御するRSSフィードを購読できます。`rust-api/src/database.rs`の`get_podcast_values`および`add_episodes`は、フィードを`feed-rs`で解析し、宛先ホスト/IPの検証を行わずに`<enclosure url>`をそのまま`Episodes.episodeurl`に保存します。`POST /api/data/download_podcast`は`rust-api/src/services/tasks.rs`内の`spawn_download_podcast_episode`および`download_episode_and_wait()`を呼び出し、保存されたURLに対して`reqwest`によるGETリクエストを送信し、そのレスポンスを後で取得できるよう`DownloadedEpisodes`に保存・記録します。また、`rust-api/src/database.rs`内の`estimate_duration_from_audio_url_async()`パスでも、フィードの追加/更新時に検証されていないHEADリクエストが送信されます。デフォルトのリダイレクトフォローにより、当初は外部だったエンクロージャーURLが内部ターゲットへリダイレクトすることが可能です。低権限ユーザーは、到達可能なループバック、プライベートネットワーク、およびクラウドメタデータサービスに対してサーバーサイドのGET/HEADリクエストを実行し、ダウンロードされた内部レスポンスを読み取ることができます。これにより、内部サービスの列挙、機密データの漏洩、さらにはメタデータ資格情報の盗難が可能になります。エピソードのダウンロードにはサーバー側のダウンロードが有効である必要があり(デフォルト設定)、セルフサービスでのサインアップもサポートされています。この問題はバージョン0.9.0で修正されました。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.