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. Learn more about Dependency Scanning →