要点
- CVE-2026-49452 は weasyprint に影響する深刻度「中」 (CVSS 6.5) の脆弱性です。
- 今後30日間に悪用される確率(EPSS):0.37%(全脆弱性の 31.3% より高い)。
- 修正版の情報はまだありません。参考情報のベンダー勧告を確認してください。
| パッケージ | 影響を受けるバージョン | 修正済みバージョン |
|---|
| weasyprint PyPI | ≤ 68.1
| 修正版なし |
概要
Summary
A CSS injection issue exists in WeasyPrint when HTML presentational hints are enabled. Unescaped attribute values are embedded into CSS, allowing injection of arbitrary CSS declarations. This affects applications processing untrusted HTML input.
Details
File: weasyprint/css/init.py
The background attribute is used to construct CSS:
background-image:url({element.get("background")})
This string is parsed by tinycss2.parse_blocks_contents().
Because the value is not escaped, additional CSS declarations can be injected.
PoC
<body background="x);background-image:url(http://169.254.169.254/latest/meta-data/)">
Impact
- CSS injection
- Server-side requests via injected
url()
- Limited to cases where
presentational_hints=True
Suggested Fix
NVD の説明
WeasyPrint helps web developers to create PDF documents. Prior to 69.0, WeasyPrint embeds unescaped HTML presentational-hint attribute values into CSS in weasyprint/css/__init__.py when presentational_hints=True. The background attribute is inserted into a background-image:url() declaration and parsed by tinycss2.parse_blocks_contents(), allowing untrusted HTML to inject additional CSS declarations. Applications that render untrusted HTML with presentational hints enabled can be affected by CSS injection and server-side requests through injected url() values. This issue is fixed in version 69.0.
これらの製品をお使いですか?サイトをスキャンして、脆弱なバージョンが公開されていないか確認しましょう。
無料でサイトをスキャン