Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| fulgur-rs | fulgur | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Fulgur-rs | Fulgur |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-4rf6-qx84-q9fv | Fulgur: Non-painting replaced elements amplify to thousands of blank PDF pages (denial of service) |
No CVSS v4.0
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.609% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Fulgur-rs
Fulgur-rs fulgur |
|
| Vendors & Products |
Fulgur-rs
Fulgur-rs fulgur |
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | `fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that processes input supplied by many tenants. In versions prior to 0.19.0, a body-direct child whose CSS-resolved height greatly exceeds the page height was sliced into one fragment per page with no upper bound. This is fixed in version 0.19.0. A `MAX_PAGES` cap bounds the slice loop — halting it even for a `+inf` height — and non-finite layout heights are sanitized so they can no longer drive the loop. As a workaround, validate or constrain untrusted CSS (in particular `height` / `vh` on body-level elements) before passing HTML to fulgur. | |
| Title | Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service | |
| Weaknesses | CWE-400 CWE-835 |
|
| References |
| |
| Metrics |
cvssV3_1
|