注目★★★★★GitHub Advisory
pymdown-extensions に ReDoS 脆弱性、マークdown 処理でサーバー CPU 枯渇のリスク
30秒で把握
- 1pymdown-extensions の caret・tilde・betterem・magiclink に ReDoS 脆弱性が判明、デフォルト設定で有効
- 250 バイト以下のマークdown 文字列でサーバー CPU が無限消費され、45 バイト付近で秒単位の処理停止が発生
- 310.13〜11.0 (最新) が影響を受けるため、即時バージョン確認とアップデート計画の着手が必須
要約
pymdown-extensions の 4 つのインラインプロセッサ (caret・tilde・betterem・magiclink) に指数バックトラッキングによる ReDoS 脆弱性が存在する。50 バイト以下の悪意あるマークdown 行で markdown.markdown() が無限 CPU を消費し、45 バイト程度で数秒の処理停止を招く。caret/tilde/betterem は 10.13 (2024 年 12 月) で導入されたパターン書き直しが原因で 11.0 まで影響を受ける一方、magiclink はホストパターンの問題で事実上全バージョンに影響する。いずれも拡張機能のデフォルト設定で有効になり公開 API を通じて到達可能である。
あなたへの影響
自社サービスが pymdown-extensions を使用している場合、ユーザー入力のマークdown 処理で意図しない CPU スパイク (DoS 状態) が起きる可能性があるため、早急にバージョン確認と更新計画を立てるべき。
推奨:短時間での CPU 枯渇に気づきやすい場合は既に被害が発生している恐れがある。