You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
chore(deps): update rust crate pulldown-cmark to v0.13.5 [security] - #1335
When Options::ENABLE_WIKILINKS is enabled, a wikilink with a pipe separator
and empty display text, such as [[a|]], leaks its child node's sibling chain
into the content that follows it. Each such link roughly doubles the number of
events the parser yields for the rest of the document, so output grows
exponentially with input size: 16 repetitions of [[a|]] (112 bytes) yield
327,676 events, where the fixed parser yields 65. A document of a few kilobytes
is enough to exhaust memory in a process that collects the events or renders
them to HTML.
Applications that parse untrusted Markdown with ENABLE_WIKILINKS set,
including through Options::all(), are affected. The option is off by default.
Parsing without it is not affected.
The flaw was fixed in #1102 and
released in 0.13.5.
Require pulldown-cmark 0.13.5 or newer and replace RW's obsolete panic-catching adapter with the direct offset iterator.
Retain all three reference-definition triggers and the 25,344-case whitespace sweep as positive regressions; update list and lone-image expectations to the corrected parsing.
Add bounded empty-label wikilink coverage that checks links, text and event counts. Update the unreleased changelog.
Validation: 1,885 Rust tests and 59 doctests passed (one existing test ignored), along with 269 browser E2E tests without retries and 39 native-binding tests. Focused Clippy, rustdoc and formatting passed. Both the wikilink regression and a retained panic regression fail against 0.13.4 and pass against 0.13.5. Generated NAPI bindings are unchanged.
Release-age gate: 0.13.5 was published on October 21, 2026, at 19:45:37 UTC. Its 14-day cutoff is November 4, 2026, at 19:45:38 UTC (rounded up). These changes do not authorize an early-merge exception.
Configuration
📅 Schedule: (UTC)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
No successful run was found on main (e648dac) during the generation of this report, so 7b7c250 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.13.4→0.13.5Exponential event growth with
ENABLE_WIKILINKSRUSTSEC-2026-0414
More information
Details
When
Options::ENABLE_WIKILINKSis enabled, a wikilink with a pipe separatorand empty display text, such as
[[a|]], leaks its child node's sibling chaininto the content that follows it. Each such link roughly doubles the number of
events the parser yields for the rest of the document, so output grows
exponentially with input size: 16 repetitions of
[[a|]](112 bytes) yield327,676 events, where the fixed parser yields 65. A document of a few kilobytes
is enough to exhaust memory in a process that collects the events or renders
them to HTML.
Applications that parse untrusted Markdown with
ENABLE_WIKILINKSset,including through
Options::all(), are affected. The option is off by default.Parsing without it is not affected.
The flaw was fixed in
#1102 and
released in 0.13.5.
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HReferences
This data is provided by OSV and the Rust Advisory Database (CC0 1.0).
Release Notes
raphlinus/pulldown-cmark (pulldown-cmark)
v0.13.5: 0.13.5Compare Source
This release fixes some security issues already fixed in
mainbranch. More details in pulldown-cmark#1181.Full Changelog: pulldown-cmark/pulldown-cmark@v0.13.4...v0.13.5
Follow-up implementation
Validation: 1,885 Rust tests and 59 doctests passed (one existing test ignored), along with 269 browser E2E tests without retries and 39 native-binding tests. Focused Clippy, rustdoc and formatting passed. Both the wikilink regression and a retained panic regression fail against 0.13.4 and pass against 0.13.5. Generated NAPI bindings are unchanged.
Release-age gate: 0.13.5 was published on October 21, 2026, at 19:45:37 UTC. Its 14-day cutoff is November 4, 2026, at 19:45:38 UTC (rounded up). These changes do not authorize an early-merge exception.
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.