rustsec-2026-0414

debian_rustsec
Description

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](https://github.com/pulldown-cmark/pulldown-cmark/pull/1102) and released in 0.13.5.

Timeline
Published
unknown
Last Modified
unknown
CVSS Details

CVSS details not available.

Affected Products

No product information available.

References

No references available.

Linked Vulnerabilities

No linked vulnerabilities found.

{
  "aliases": [],
  "categories": [
    "denial-of-service"
  ],
  "crate": "pulldown-cmark",
  "cves": [],
  "cvss": 0.0,
  "database_specific": {
    "severity": "high"
  },
  "date": "2026-10-18",
  "deb_packages": [
    {
      "crate_name": "debian-lsp",
      "deb_name": "debian-lsp",
      "version": "0.1.8-5+b2"
    },
    {
      "crate_name": "just",
      "deb_name": "just",
      "version": "1.59.0-1"
    },
    {
      "crate_name": null,
      "deb_name": "rustup",
      "version": "1.27.1-8+b2"
    },
    {
      "crate_name": "so",
      "deb_name": "so",
      "version": "0.4.10-4+b2"
    }
  ],
  "description": "When `Options::ENABLE_WIKILINKS` is enabled, a wikilink with a pipe separator\nand empty display text, such as `[[a|]]`, leaks its child node's sibling chain\ninto the content that follows it. Each such link roughly doubles the number of\nevents the parser yields for the rest of the document, so output grows\nexponentially with input size: 16 repetitions of `[[a|]] ` (112 bytes) yield\n327,676 events, where the fixed parser yields 65. A document of a few kilobytes\nis enough to exhaust memory in a process that collects the events or renders\nthem to HTML.\n\nApplications that parse untrusted Markdown with `ENABLE_WIKILINKS` set,\nincluding through `Options::all()`, are affected. The option is off by default.\nParsing without it is not affected.\n\nThe flaw was fixed in\n[#1102](https://github.com/pulldown-cmark/pulldown-cmark/pull/1102) and\nreleased in 0.13.5.",
  "id": "RUSTSEC-2026-0414",
  "keywords": [
    "markdown",
    "wikilinks",
    "memory-exhaustion"
  ],
  "patched_versions": [
    ">=0.13.5"
  ],
  "source": "debian_rustsec",
  "title": "Exponential event growth with `ENABLE_WIKILINKS`",
  "url": "https://github.com/pulldown-cmark/pulldown-cmark/issues/1179"
}
View JSON API Download JSON