Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.
Open advisories
3 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.
The URL checking logic in local-deep-research has a logical flaw that could be bypassed by attackers, leading to SSRF attacks. Details The current project uses validateurl to validate the input URL. The main logic is to perform security checks on the host portion of the URL extracted by urlparse to prevent SSRF attacks. <img width="1173" height="1107" alt="QQ20260430-212334-30-1" src="https://github.com/user-attachments/assets/52b356aa-9ad3-4b1d-a472-39a2ada3ea23" / However, there are indeed differences in parsing between urlparse and the library that actually sends the request. For example, in safeget, validateurl is first used to perform an SSRF check, and then requests.get is used to send the actual request. <img width="1164" height="1089" alt="QQ20260430-212431-30-2" src="https://github.com/user-attachments/assets/f3decb16-4daa-49e0-861c-273a913487a0" / The core issue: urlparse() and requests disagree on which host a URL like http://127.0.0.1:6666\@1.1.1.1 points to: -…
Recommended action: Upgrade to 1.6.10 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
PDFService.markdowntohtml() 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 ssrfvalidator.py. --- Details Vulnerable code: src/localdeepresearch/web/services/pdfservice.py, lines 171–176 Data flow trace: research.query is a string submitted by the user via POST /api/startresearch, stored as-is in the database, and retrieved without any sanitization. When the user triggers POST /api/v1/research/<researchid/export/pdf, this value is embedded unescaped into the HTML document processed by WeasyPrint.…
Recommended action: Upgrade to 1.6.0 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.
The download service (downloadservice.py) makes HTTP requests using raw requests.get() without utilizing the application's SSRF protection (saferequests.py). This can allow attackers to access internal services and attempt to reach cloud provider metadata endpoints (AWS/GCP/Azure), as well as perform internal network reconnaissance, by submitting malicious URLs through the API, depending on the deployment and surrounding controls. CWE: CWE-918 (Server-Side Request Forgery) --- Details Vulnerable Code Location File: src/localdeepresearch/researchlibrary/services/downloadservice.py The application has proper SSRF protection implemented in security/saferequests.py and security/ssrfvalidator.py, which blocks: - Loopback addresses (127.0.0.0/8) - Private IP ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) - AWS metadata endpoint (169.254.169.254) - Link-local addresses However, downloadservice.py bypasses this protection by using raw requests.get() directly: Attack Vector 1.…
Recommended action: Upgrade to 1.3.9 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.