Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed Gradio GUI
-
DeliverySubmit crafted URL in Link input
-
ExploitHandler calls download_with_limit unvalidated
-
ExecutionServer fetches internal/metadata endpoint
-
ImpactRetrieve response via returned PDF
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires that the PDFMathTranslate (pdf2zh) Gradio web GUI be network-reachable by the attacker and that the URL/Link input feature (translate-from-URL) be available, since the translate_file handler forwards the user-supplied Link to download_with_limit without scheme or address validation. No authentication is required (PR:N) and no user interaction (UI:N). The primary limiting factor is exposure: if the Gradio interface is bound to localhost, placed behind authentication, or isolated from internal/metadata networks (e.g., no route to 169.254.169.254 or internal service ranges), the SSRF loses most of its value. Impact is further limited to confidentiality (retrieval of fetched content via the returned PDF); there is no direct integrity or availability impact. |
| Impact | This is a genuine but moderate-priority issue, not a critical one. The CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) confirms unauthenticated, low-complexity, network-reachable exploitation, which raises real concern, but the impact metrics are constrained to low confidentiality only (VC:L, VI:N, VA:N, SC:N), yielding a 6.9 Medium score - this is an information-disclosure/pivot primitive, not RCE. No EPSS score was provided, so exploitation probability cannot be quantified. The vulnerability is NOT listed in CISA KEV and no public exploit code is referenced in the input (only the VulnCheck advisory, upstream GitHub issue #1188, and source lines in gui.py), so this is 'no public exploit identified at time of analysis' and there is no SSVC-style evidence of active exploitation. The practical risk hinges entirely on exposure: the Gradio web GUI must be network-reachable by the attacker. Where the GUI is exposed, the unauthenticated nature makes it an attractive SSRF pivot to cloud metadata (e.g., 169.254.169.254) and internal services; where the GUI is bound to localhost or behind authentication/network controls, real risk drops sharply. No conflicting signals between the CVSS vector and the description were found - both agree on network, unauthenticated access with confidentiality-only impact. |
| Exploit ScenarioDerived | An attacker locates an internet-exposed PDFMathTranslate (pdf2zh) Gradio web GUI and submits a crafted URL (e.g., a cloud metadata endpoint or an internal-only service address) into the Link input field. The translate_file handler passes the URL to download_with_limit with no scheme or address validation, so the server fetches the attacker-chosen resource and may return its contents to the attacker in the resulting PDF, enabling disclosure of internal services and cloud credentials. No public exploit code is identified, but the attack is trivial to perform manually given the low attack complexity and no authentication requirement. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 10, 2026
Server-side request forgery in PDFMathTranslate (pdf2zh) through 1.9.11 lets unauthenticated remote attackers force the server to fetch arbitrary URLs supplied through the Gradio web GUI's Link (translate-from-URL) input, reaching internal services and cloud metadata endpoints with the fetched content returned inside the generated PDF. The flaw exists because the translate_file handler forwards user-controlled URLs to download_with_limit without validating the URL scheme or destination address, and the CVSS vector confirms no privileges (PR:N) and no user interaction (UI:N) are needed. Exploitation is gated primarily by exposure: the Gradio interface must be network-reachable and able to route to internal or link-local addresses, and impact is confined to information disclosure (VC:L, no integrity or availability effect) - there is no confirmed active exploitation (not in CISA KEV) and no public exploit code identified at time of analysis.
RemediationAI
Patch status is not confirmed by the available data: the references point to the upstream issue (https://github.com/PDFMathTranslate/PDFMathTranslate/issues/1188) and to the vulnerable source rather than to a tagged fixed release, so no exact fixed version can be cited - check the project's release notes and PyPI for a pdf2zh release newer than 1.9.11 and upgrade as soon as one is published, and treat the issue thread as the authoritative fix tracker. Where upgrading is not yet possible, the highest-value controls in order are: bind the Gradio interface to loopback only (for example launch with server_name="127.0.0.1" and expose it via an authenticating reverse proxy rather than 0.0.0.0), which fully closes the remote SSRF but breaks legitimate remote users; enable Gradio's built-in basic authentication (the auth=USER:PASS launch option) to raise the bar, though this is only partial mitigation because the CVSS vector assumes PR:N and any authenticated user still gets SSRF; and block or monitor outbound traffic from the container/host to link-local and private ranges (169.254.0.0/16, 127.0.0.0/8, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, and IPv6 equivalents), which neutralizes the metadata-theft path at the cost of breaking any legitimate remote PDF fetching. Additionally, enforce IMDSv2 on AWS instances so metadata responses require a token that a simple GET-based SSRF cannot obtain, run the service in a network namespace or container with no route to internal management planes, and, if translate-from-URL is not a required feature, disable or remove the Link input entirely - the most effective control available in the absence of a confirmed vendor fix, with the trade-off that users can only upload local files.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
This is a classic CWE-918 server-side request forgery rooted in the PDF translation pipeline of PDFMathTranslate (pdf2zh), a Python tool that exposes a Gradio web GUI for translating PDF documents. The vulnerable code paths are the translate_file handler and its helper download_with_limit in pdf2zh/gui.py (specifically the blocks at lines 149-179 and 257-269 as cited in the CVE references), which accept a user-supplied Link value, fetch it server-side, and then render the retrieved document into the translated PDF that is returned to the caller. Because neither the URL scheme (file, http, https, gopher-style handlers) nor the resolved destination address is validated, the HTTP client will happily follow redirects and connect to loopback, RFC1918, or link-local ranges, including the cloud instance metadata endpoint at 169.254.169.254. The CPE cpe:2.3:a:pdfmathtranslate:pdfmathtranslate:* indicates the affected product stream is unbounded on the low end - every release up to and including 1.9.11 is presumed affected. The distinguishing characteristic versus a blind SSRF is that the response body leaks back to the attacker inside the produced PDF, turning this into a semi-automated exfiltration primitive for JSON metadata responses or internal HTTP resources that render legibly.
Know when Pdfmathtranslate gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Unauthenticated network-reachable SSRF with low attack complexity (PR:N/AC:L); impact limited to low confidentiality disclosure of fetched resources, with no integrity or availability effect.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PDFMathTranslate (pdf2zh) through 1.9.11 contains a server-side request forgery vulnerability that allows unauthenticated attackers to make the server fetch arbitrary URLs via the Link input. The translate_file handler passes user URLs to download_with_limit without scheme or address validation, letting attackers reach internal services and cloud metadata endpoints and retrieve returned PDFs.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-96348
GHSA-685q-m24h-8x9g
NVD
CVE.org
EPSS
Exploit-DB