Skip to content
OpenAdvisories
Medium · 5.0 CVE-2026-43979 EUVD-2026-32978GHSA-fj2m-qvh9-jq4qPYSEC-2026-2610

Local Deep Research: HTML Injection via Unescaped User Input in PDF Export (`pdf_service.py:_markdown_to_html`)

Published May 28, 2026 · Updated May 28, 2026 · Assigned by GitHub_M

Description

Local Deep Research is an AI-powered research assistant for deep, iterative research. Prior to 1.6.0, PDFService._markdown_to_html() constructs an HTML document by interpolating user-controlled values — specifically title (sourced from research.title or research.query) and metadata key-value pairs — directly into an f-string without any HTML escaping. An authenticated attacker can craft a research query containing HTML special characters to inject arbitrary HTML tags into the document processed by WeasyPrint during PDF export. This injection can be chained to trigger a Server-Side Request Forgery (SSRF), bypassing the application's existing SSRF defenses in ssrf_validator.py. This vulnerability is fixed in 1.6.0.

Affected products

VendorProductAffectedFixed
LearningCircuit local-deep-research < 1.6.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI local-deep-research < 1.6.0 1.6.0 GHSA-fj2m-qvh9-jq4q

References