Asayomu Tech
注目★★★★★GitHub Advisory

league/commonmark に DoS 脆弱性、重複見出しのスラッグ生成で O(K²) コスト

30秒で把握

  • 1league/commonmark v2.0.0~v2.8.x に DoS 脆弱性、重複スラッグ生成の再検索が O(K²) コスト
  • 2HeadingPermalinkExtension / FootnoteExtension / TableOfContentsExtension 登録時に実行、認証不要でサービス停止可能
  • 3単純な衝突入力 (空見出し・同一テキスト) で秒単位 CPU 消費、1.x は未影響・2.x 全版対応版アップグレードを推奨

要約

league/commonmark の UniqueSlugNormalizer に Denial of Service 脆弱性が存在する。見出しのスラッグが衝突するたびに数値サフィックスの検索を 1 から再開するため、K 個の衝突スラッグに対して O(K²) の計算量が必要になる。空の見出しや同一テキスト、句読点のみの見出しを入力することで、攻撃者が単一ベーススラッグへの衝突を強制でき、秒単位の CPU 消費と サービス拒否をもたらす。HeadingPermalinkExtension・FootnoteExtension・TableOfContentsExtension 登録時に該当パスが実行され、認証は不要。2.0.0~2.8.x すべてが影響を受ける。

あなたへの影響

league/commonmark で Markdown の見出しやフッターノート、目次を処理している場合、UGC や外部入力を受け付けるエンドポイントで攻撃対象になり得るため、早急にバージョンアップを検討してください。

推奨:現時点で即時対応は不要です。必要に応じて原文を確認してください。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。