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

Medium 5.0 Published Updated

An authenticated attacker can inject HTML into PDF exports to trigger Server-Side Request Forgery, bypassing existing defenses and potentially accessing internal resources.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-43979?

CVE-2026-43979 is a medium-severity server-side request forgery vulnerability in LearningCircuit local-deep-research, published on 28 May 2026. Any signed-in user can exploit it over the network, with no action from the victim.

Official 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.

Weakness: CWE-918, CWE-79

Which versions are affected by CVE-2026-43979?

3 open source packages ship an affected version, including local-deep-research.

PackageAffectedFixed in
local-deep-research PyPIAll versions1.6.0
local-deep-research PyPIAll versions1.6.0
local-deep-research PyPIAll versions1.6.0

How do I fix CVE-2026-43979?

Upgrade local-deep-research to 1.6.0 or later.

Upgrade, and send outbound requests through an allow-list that blocks internal addresses. More about Server-side request forgery.

Is CVE-2026-43979 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-43979 exists.

Sources

Also known as GHSA-fj2m-qvh9-jq4q, PYSEC-2026-2610.

Is CVE-2026-43979 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free