CVE-2026-61749
Received Received - Intake

WeasyPrint Report Rendering Vulnerabilities in InvenTree

Vulnerability report for CVE-2026-61749, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-09-21

Last updated on: 2026-09-21

Assigner: GitHub, Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-09-21
Last Modified
2026-09-21
Generated
2026-09-22
AI Q&A
2026-09-21
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 3 associated CPEs
Vendor Product Version / Range
inventree inventure to 1.4.0 (exc)
inventree inventree 1.4.0
inventree inventree to 1.3.4 (inc)

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-200 The product exposes sensitive information to an actor that is not explicitly authorized to have access to that information.
CWE-918 The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability in InvenTree allows privileged staff users who can create report or label templates to exploit WeasyPrint's PDF rendering to fetch attacker-selected resources via HTTP, HTTPS, or local file URIs. The system lacks a restricted URL fetcher, enabling full-read server-side request forgery, arbitrary local file disclosure, and potential superuser account compromise. The issue is fixed in version 1.4.0.

Detection Guidance

To detect this vulnerability, check if your InvenTree instance is running a version prior to 1.4.0. Run the command: pip show InvenTree or check the version in the web interface. Additionally, review server logs for unusual PDF generation requests or file access patterns, especially from staff users.

Impact Analysis

An attacker with staff privileges could read sensitive files, access internal services via SSRF, or steal credentials like Django's SECRET_KEY. If attach_to_model=True is enabled, fetched resources are stored in raw PDFs before sanitization, allowing exfiltration of secrets or internal data. This could lead to full system compromise or unauthorized access.

Compliance Impact

This vulnerability could violate GDPR and HIPAA by enabling unauthorized access to sensitive personal or health data through local file reads or SSRF attacks. Exposure of credentials or internal data may also breach confidentiality requirements, leading to compliance failures and potential legal consequences.

Mitigation Strategies

Immediately upgrade InvenTree to version 1.4.0 or later. Disable remote URL fetching in report templates by setting REPORT_FETCH_URLS=False. Block file:// URLs in templates and ensure no sensitive files are accessible via HTTP(S) requests. Review and restrict staff user permissions.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-61749. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart