league/commonmark ships four quadratic-complexity DoS advisories in one batch
GHSA disclosed four separate O(N²) denial-of-service bugs in league/commonmark 2.x (three reaching back to 1.5.0): colliding heading slugs, duplicate footnote definitions, adjacent inline attribute blocks, and a core UTF-8 position-translation rescan that needs no extension at all — each turns a few KB of crafted Markdown into seconds of CPU or hundreds of MB of memory. The three extension-gated bugs (HeadingPermalink, Footnote, Attributes) are opt-in; the core parsing bug is not, so any endpoint that converts untrusted Markdown is exposed by default. Upgrade to 2.9.0, which fixes all four in one release.