🔍 CVE-2026-49452

6.5
CVSS Score
MEDIUM
2026-08-18
2026-10-22 22:10
✅ 완료

🇰🇷 한글 설명

WeasyPrint 69.0 미만 버전에서 presentational_hints 옵션이 활성화된 경우, HTML의 presentational-hint 속성값이 적절히 이스케이프되지 않고 CSS에 삽입되는 취약점이 존재합니다. 이를 통해 공격자는 CSS 주입을 수행하거나 url() 값을 이용해 서버 측 요청(SSRF)을 유발할 수 있습니다.

💡 쉬운 설명

웹 페이지를 PDF로 만드는 프로그램에서 보안 허점이 발견되었습니다. 공격자가 특수하게 조작된 코드를 보내면, 서버가 몰래 외부 사이트에 접속하게 하거나 디자인을 망가뜨릴 수 있습니다.

🇺🇸 원문 (English)

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.

📍 영향받는 시스템

WeasyPrint version < 69.0

⚔️ 공격 벡터

신뢰할 수 없는 HTML 콘텐츠 내의 presentational-hint 속성에 악의적인 CSS 구문을 삽입하여 공격

🛡️ 대응 방법

WeasyPrint를 최신 버전인 69.0 이상으로 업데이트하십시오.

🔧 검증 코드

출력된 버전 번호가 69.0 미만이면 취약한 상태입니다.

Shell / Script
pip show weasyprint | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

💻 영향받는 소프트웨어

IBM WebSphere Application Server