Skip to content

Add advisory for pulldown-cmark: Exponential event growth with ENABLE_WIKILINKS - #3454

Merged
djc merged 1 commit into
rustsec:mainfrom
junkdog:pulldown-cmark-wikilinks
Oct 28, 2026
Merged

djc merged 1 commit into
rustsec:mainfrom
junkdog:pulldown-cmark-wikilinks

Conversation

@junkdog

@junkdog junkdog commented Oct 27, 2026

Copy link
Copy Markdown
Contributor

Affected crate(s)

  • pulldown-cmark (61.8M recent downloads per crates.io)

Links to upstream issue(s) or PR(s)

Severity

Remote denial-of-service via memory exhaustion. With Options::ENABLE_WIKILINKS set (off by default, included in Options::all()), each wikilink with a pipe and empty display text, such as [[a|]], roughly doubles the events yielded for the rest of the document: 112 bytes yield 327,676 events (65 when fixed), and a few kilobytes exhaust memory in a process that collects or renders the events. Affects 0.13.0 through 0.13.4; wikilinks were introduced in 0.13.0, and 0.13.5 is patched.

CVSS 3.1 is 7.5, scored for a service that renders untrusted Markdown with wikilinks enabled. AC:H, to account for the option being off by default, would give 5.9.

Checklist

@djc djc left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@djc
djc merged commit ee8c4fd into rustsec:main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants