league/commonmark versions >= 2.0.0 and < 2.8.4 contain a denial of service vulnerability in the UniqueSlugNormalizer::normalize() function. The flaw causes an O(K^2) time complexity when K headings collapse to the same base slug due to restarting the numeric-suffix search from 1 on every collision. The vulnerability is triggered when HeadingPermalinkExtension, FootnoteExtension, or TableOfContentsExtension is registered. An unauthenticated attacker can craft a small Markdown document with many headings sharing the same base slug (e.g., empty ATX headings, identical text, or punctuation-only headings) to consume excessive CPU. The issue is patched in version 2.9.0. This is a remotely exploitable, low-complexity attack requiring no authentication or special privileges.