CVE-2026-68537: Fulgur: Non-painting replaced elements amplify to thousands of blank PDF pages (denial of service)
fulgur converts untrusted HTML/CSS into PDF, commonly on a server that
processes input supplied by many tenants. In versions prior to 0.26.0, a
childless box that resolves to a pathologically tall height was amplified into
thousands of blank PDF pages, even when it produces no visible output.
The childless-collapse defense that would normally collapse such a box was gated by a tag-only “replaced content” check, so any non-painting replaced element bypassed it, including:
- an unresolved
src(the common offline-first case), - a
visibility:hiddenimage, - an undecodable image format, and
- an empty
<svg>.
A trailing-sibling variant of the same gap was also open. A few bytes of HTML
therefore amplified into roughly MAX_PAGES (10,000) blank pages; the renderer
allocates and runs a per-page loop over them, producing CPU and memory
exhaustion. An attacker able to submit HTML to a fulgur-based conversion service
can trigger this with a trivially small payload, denying service to the host and
any co-tenants.
References
Code Behaviors & Features
Detect and mitigate CVE-2026-68537 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Dependency Scanning using SBOM also detects vulnerabilities from proprietary advisories that this site does not include. Learn more about Dependency Scanning using SBOM →