Pythonの脆弱性CVE-2024-7592とDjangoへの影響
こんにちは、ユンソクチャンと申します。最近、私がPythonチームに報告した脆弱性が公開されました。
この脆弱性は、CVSS 3.xの基準で10点中7.5点で、「高い」深刻度と評価されました。この問題を悪用すると、インターネット上のすべてのDjangoサーバーでDoS(サービス拒否)攻撃を引き起こす可能性がありました。
Pythonの正規表現とReDoS脆弱性
正規表現はテキスト処理でよく使われる強力なツールです。しかし、正規表現が複雑になると、解析や一致を見つける計算量が急激に増加することがあります。Pythonのreモジュールはバックトラッキングを使う方法で正規表現を処理します。この方法では、特定の入力で計算時間が指数関数的に増えることがあります。
import re
# the example of complex regex string
complex_regex = re.compile("(a+)+$")
def check_complex_string(s):
return complex_regex.match(s)
payload = "aaa