{"items":[{"id":"NVI-00014172","kind":"vulnerability","title":"Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-j5cx-ph8g-95v3","CVE-2026-68523"],"plain_summary":"GitHub lists this reviewed advisory for fulgur. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-44823a71a81e35c92fe6bda0a500203f"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-17T18:48:57.000Z","value":"7.5 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-54ae34fec509a65c484322df249349ac"},{"kind":"CVSS","as_of":"2026-09-24T21:25:27.050Z","value":"7.5 HIGH (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-44823a71a81e35c92fe6bda0a500203f"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-54ae34fec509a65c484322df249349ac","url":"https://github.com/advisories/GHSA-j5cx-ph8g-95v3","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-j5cx-ph8g-95v3","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T14:29:49.409Z"},{"id":"sr-44823a71a81e35c92fe6bda0a500203f","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-68523","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-68523","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-08T15:07:54.921Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-54ae34fec509a65c484322df249349ac"],"technology":"fulgur","known_exclusions":[],"conditions_summary":"`fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that\nprocesses input supplied by many tenants. In versions prior to 0.19.0, a\nbody-direct child whose CSS-resolved height greatly exceeds the page height was\nsliced into one fragment per page with **no upper bound**.\n\nThe height is taken directly from attacker-controlled HTML/CSS (`height`, `vh`\nunits), so a few bytes such as:\n\n```html\n\n```\n\nforced on the order of 125,000 page fragments. The pagination code then\nallocates `vec![Vec::new(); page_count]` and runs a per-page render loop,\nresulting in CPU and memory exhaustion. A non-finite height (one that resolves\nto `+inf`) additionally made the slicing loop's `remaining -= last_slice_h`\ndecrement never terminate, causing an infinite loop.\n\nAn attacker able to submit HTML/CSS to a fulgur-based conversion service can\ntrigger this with a trivially small payload, denying service to the host and\nany co-tenants.\n\n## Patches\n\nFixed in **0.19.0**. A `MAX_PAGES` cap bounds the slice loop — halting it even\nfor a `+inf` height — and non-finite layout heights are sanitized so they can no\nlonger drive the loop.\n\n## Workarounds\n\nUpgrade to 0.","public_affected_ranges":["< 0.19.0"]}],"null_published_at":"2026-11-08T19:53:44.053Z","source_updated_at":"2026-09-17T18:48:57.000Z","source_disclosed_at":"2026-09-17T18:48:55.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-11-01T14:29:49.409Z"},{"id":"NVI-00014172","kind":"vulnerability","title":"Fulgur: Unbounded page slicing from attacker-controlled CSS height causes denial of service","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-j5cx-ph8g-95v3","CVE-2026-68523"],"plain_summary":"GitHub lists this reviewed advisory for fulgur. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-54ae34fec509a65c484322df249349ac"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-09-17T18:48:57.000Z","value":"7.5 high","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-54ae34fec509a65c484322df249349ac"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-54ae34fec509a65c484322df249349ac","url":"https://github.com/advisories/GHSA-j5cx-ph8g-95v3","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-j5cx-ph8g-95v3","publisher":"GitHub Advisory Database","observed_at":"2026-11-01T14:29:49.409Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-54ae34fec509a65c484322df249349ac"],"technology":"fulgur","known_exclusions":[],"conditions_summary":"`fulgur` converts untrusted HTML/CSS into PDF, commonly on a server that\nprocesses input supplied by many tenants. In versions prior to 0.19.0, a\nbody-direct child whose CSS-resolved height greatly exceeds the page height was\nsliced into one fragment per page with **no upper bound**.\n\nThe height is taken directly from attacker-controlled HTML/CSS (`height`, `vh`\nunits), so a few bytes such as:\n\n```html\n\n```\n\nforced on the order of 125,000 page fragments. The pagination code then\nallocates `vec![Vec::new(); page_count]` and runs a per-page render loop,\nresulting in CPU and memory exhaustion. A non-finite height (one that resolves\nto `+inf`) additionally made the slicing loop's `remaining -= last_slice_h`\ndecrement never terminate, causing an infinite loop.\n\nAn attacker able to submit HTML/CSS to a fulgur-based conversion service can\ntrigger this with a trivially small payload, denying service to the host and\nany co-tenants.\n\n## Patches\n\nFixed in **0.19.0**. A `MAX_PAGES` cap bounds the slice loop — halting it even\nfor a `+inf` height — and non-finite layout heights are sanitized so they can no\nlonger drive the loop.\n\n## Workarounds\n\nUpgrade to 0.","public_affected_ranges":["< 0.19.0"]}],"null_published_at":"2026-11-02T10:00:37.218Z","source_updated_at":"2026-09-17T18:48:57.000Z","source_disclosed_at":"2026-09-17T18:48:55.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-11-01T14:29:49.409Z"}],"next_cursor":null,"snapshot_revision":"42594"}