注目★★★★★GitHub Advisory
Savon gem に WSDL インジェクション脆弱性、信頼できないスキーマで RCE リスク
30秒で把握
- 1Savon gem の Savon::Model が WSDL オペレーション名を Ruby コード評価してしまう
- 2信頼できない WSDL 読み込み時に任意コード実行が可能・2.17.2 以上でパッチ済み
- 3`.all_operations` の使用を避け `.operations` で信頼できる操作に限定すべき
要約
Savon 2.17.1 以前の `Savon::Model` は WSDL のオペレーション名を Ruby コードとして直接評価してしまい、攻撃者が操作した WSDL を読み込むと任意コード実行が可能だった。`.all_operations` メソッドで自動登録する際に脆弱性が発動するため、信頼できない WSDL に対しては使用を避けるべき。パッチ版の 2.17.2 以上へのアップグレード、または信頼できるオペレーション名に限定する `.operations` への切り替えで対策できる。
あなたへの影響
Ruby on Rails で SOAP 統計・会計・金融 API を連携させるチームは。
推奨:外部提供の WSDL を `.all_operations` で無条件登録していないか確認し、2.17.2 以上へ即座に更新またはホワイトリスト方式の `.operations` への変更を検討すること。