Skip to main content

Boteraser | Website and Server Security Solutions

🛡️ RUSTSEC-2026-0200 — fulgur

⚪ Unknown ✅ No Known Exploit OSV
N/A
CVSS Score
0 Low4 Medium7 High9 Critical10

Description

Unbounded page slicing from attacker-controlled CSS height causes 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.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. The height is taken directly from attacker-controlled HTML/CSS (`height`, `vh` units), so a few bytes such as `
` forced on the order of 125,000 page fragments. The pagination code then allocates `vec![Vec::new(); page_count]` and runs a per-page render loop, resulting in CPU and memory exhaustion. A non-finite height (one that resolves to `+inf`) additionally made the slicing loop's `remaining -= last_slice_h` decrement never terminate, causing an infinite loop. An attacker able to submit HTML/CSS to a fulgur-based conversion service can trigger this with a trivially small payload, denying service to the host and any co-tenants. Fixed in 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. ## Attack Vector rationale `fulgur` performs no network I/O of its own; it renders HTML/CSS handed to it by the embedding application. This advisory scores the crate independent of any specific adopting program, so per the CVSS v3.1 User Guide §3.7 the Attack Vector is assessed as Network for the reasonable worst-case deployment — a network-facing service that renders untrusted HTML without user interaction. A concrete system that receives the HTML in one component and passes it to fulgur in a separate component may assess a lower environmental Attack Vector (Local, per §3.10).

How this vulnerability can be exploited

This issue can be reached over the network, attack complexity is low, an attacker needs no privileges on the target. No user interaction is required. The scope is unchanged, so the impact stays within the vulnerable component. Rated impact: confidentiality none, integrity none, availability high.

CVSS metrics in full

The score comes from this vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

  • Attack vector: Network — reachable from anywhere that can route to the service.
  • Attack complexity: Low — the attack works reliably, with no preparation.
  • Privileges required: None — an unauthenticated stranger can try it.
  • User interaction: None — nobody has to be tricked into anything.
  • Scope: Unchanged — the damage stays inside the vulnerable component.
  • Confidentiality impact: None.
  • Integrity impact: None.
  • Availability impact: High — total loss, or loss the attacker controls.

Affected software

RUSTSEC-2026-0200 is recorded against 1 package.

  • fulgur

Timeline and source

Published on 5 July 2026 and last revised on 4 July 2026. No public exploit is currently recorded for this entry. Record sourced from OSV.

References

crates.io (Package)
rustsec.org (Advisory)
github.com (Advisory)

Other advisories for this package

fulgur has other advisories on record. If you are patching this one, these are worth checking on the same host:

Details

Severity Unknown
CVSS Score N/A
CVSS Vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CWE N/A
Public Exploit ✅ No
Source OSV
Published 2026-07-05
Updated 2026-08-20
Modified 2026-07-04
Fix URL N/A

Affected Packages

Software From version Fixed in
fulgur — —

Similar Threats

Free Vulnerability Check

Is your site affected by RUSTSEC-2026-0200?

BotEraser helps you identify potentially vulnerable plugins and themes by checking your installation against RUSTSEC-2026-0200 and other known CVE records.

Scan My Site Free →

No credit card required  ·  Results in minutes

ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.

Browse related advisories

All advisoriesRustsecRustsec 2026
✓