New Python URL Parsing Flaw Could Enable Command Execution Attacks
2023/08/12 TheHackerNews — Python の URL 解析関数に、深刻な脆弱性 CVE-2023-24329 が発見された。その悪用に成功した攻撃者は、ブロック・リストを介して実装された、ドメインやプロトコルのフィルタリング方法のバイパスが可能になるという。そして、最終的には、任意のファイルの読み取りや、コマンドの実行を引き起こすことになると判明した。
8月11日 (金) の CERT Coordination Center (CERT/CC) のアドバイザリには、「urlparse による解析では、URL の先頭に空白文字が埋め込まれている場合に問題が生じる。この問題は、ホスト名とスキームの解析の両方に影響し、最終的にブロック・リストの作成に失敗する」と記されている。
この脆弱性 CVE-2023-24329 の CVSS 値は 7.5 である。セキュリティ研究者である Yebo Cao は、この問題を 2022年8月に発見/報告したとされている。この問題は、以下のバージョンで修正されている。
- >= 3.12
- 3.11.x >= 3.11.4
- 3.10.x >= 3.10.12
- 3.9.x >= 3.9.17
- 3.8.x >= 3.8.17
- 3.7.x >= 3.7.17
urllib.parse は広く使われている解析関数であり、URL の構成要素への分解や、構成要素の URL 文字列への結合などを行うものだ。
脆弱性 CVE-2023-24329 は、入力検証の欠如の結果として発生し、空白文字で始まる URL (例えば ” https://youtube%5B.%5Dcom”) を供給することで、ブロック・リストのメソッドを回避することが可能なシナリオをもたらす。
Yebo Cao は、「ブロック・リストは洗練されたものではないが、それを必要とするシナリオは、まだ沢山たくさんある。この脆弱性は、スキームとホストに対して開発者が設定した保護を、攻撃者がバイパスする際に有益となる。この脆弱性は、SSRF と RCE の幅広いシナリオにつながるものだと推測できる」と述べている。
Python の URL 解析関数の脆弱性 CVE-2023-24329 ですが、お隣のキュレーション・チームに聞いてみたところ、最初の報告は 2023年2月24日だったとのことです。その後も、この脆弱性については IBM と Red Hat から、大量のアドバイザリが提供されていました。文中にもあるように、urllib.parse は広く使われている解析関数とのことであり、また CERT/CC も警告を出しているので、他のベンダーは大丈夫なのだろうかと、気になり始めました。
You must be logged in to post a comment.