Quick answers
- Is CVE-2026-43979 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2026-43979 being exploited in the wild.
- How severe is CVE-2026-43979?
- Medium severity, with a CVSS score of 5, published 28 May 2026.
- Which products and versions are affected?
- local-deep-research (PyPI) < 1.6.0, ECOSYSTEM:introduced=0,fixed=1.6.0.
- Is there a fix for CVE-2026-43979?
- Yes. local-deep-research (PyPI): upgrade to 1.6.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2026-43979 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2026-43979?
- Check whether you run local-deep-research (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- local-deep-research (PyPI): upgrade to 1.6.0 or later
pip install "local-deep-research>=1.6.0"
Technical details
The vulnerability exists in `PDFService._markdown_to_html()` within `pdf_service.py`, where user-controlled research titles and metadata are interpolated into HTML f-strings without escaping. An authenticated attacker can submit a research query containing HTML tags (e.g., `</title><img src="...">`) which are then rendered by the WeasyPrint engine during PDF export. This allows for SSRF, enabling the attacker to bypass existing `ssrf_validator.py` protections because WeasyPrint's internal resource fetching does not use the application's validator. Attackers can target cloud metadata services (169.254.169.254) or internal network resources. The issue is patched in version 1.6.0 by implementing `html.escape()` and a custom `url_fetcher` for WeasyPrint.
Affected products
- LearningCircuit local-deep-research < 1.6.0
Identifiers
- CVE-2026-43979
- GHSA-fj2m-qvh9-jq4q
- PYSEC-2026-2610
Timeline
- 2026-03-29: patched: Initial HTML injection fix in v1.5.0
- 2026-04-24: patched: Full SSRF mitigation in v1.6.0
- 2026-05-11: disclosed