🇰🇷 한글 설명
InvenTree 1.4.0 미만 버전에서 권한이 있는 직원이 보고서 또는 라벨 템플릿을 작성할 때 WeasyPrint 렌더링 엔진의 취약점을 악용할 수 있습니다. 공격자는 HTTP/HTTPS 및 로컬 파일 URI 스킴을 사용하여 서버 내부의 리소스를 탈취하거나 임의의 로컬 파일을 읽어낼 수 있으며, 이는 관리자 계정 탈취로 이어질 수 있습니다.
💡 쉬운 설명
권한을 가진 사용자가 악의적인 보고서 양식을 만들면, 서버가 몰래 내부 파일이나 비밀 정보를 읽어서 공격자에게 전달할 수 있는 보안 약점입니다. 이로 인해 서버의 중요한 설정 파일이나 관리자 비밀번호가 유출될 위험이 있습니다.
🇺🇸 원문 (English)
InvenTree is an Open Source Inventory Management System. Prior to 1.4.0, privileged staff users who can author report or label templates can cause WeasyPrint report rendering to retrieve attacker-selected resources through the HTTP and HTTPS URL schemes or the local file URI scheme. The HTML(string=html).write_pdf() path does not provide a restricted url_fetcher, and attach_to_model=True stores the original generated PDF before later processing, allowing fetched local files or internal HTTP response bodies to be recovered from embedded attachments. This enables full-read server-side request forgery, arbitrary local file disclosure including application credentials, and possible compromise of a superuser account. This issue is fixed in version 1.4.0.
📍 영향받는 시스템
InvenTree versions prior to 1.4.0
⚔️ 공격 벡터
Privileged user creates a malicious report/label template using HTTP/HTTPS or local file URI schemes in WeasyPrint.
🛡️ 대응 방법
Update InvenTree to version 1.4.0 or later.
🔧 검증 코드
출력된 버전이 1.4.0 미만이면 취약한 상태이며, 1.4.0 이상이면 안전합니다.
pip show inventree | grep Version
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:N
💻 영향받는 소프트웨어
Multi-Domain Security Management Server