Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessUpload HTML disguised as image (unauthenticated)
-
DeliveryCraft /static-file/<key>?a=.pdf link
-
ExploitLure administrator to open link
-
Executionnginx serves HTML inline, script executes
-
ImpactSteal panda_wiki_token JWT and hijack admin session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Two concrete prerequisites must both be met. First, the attacker reaches the unauthenticated endpoint /share/v1/common/file/upload and uploads an HTML file bearing an image extension (PR:N - no credentials needed for this step). Second, an administrator must be lured into opening /static-file/<key>?a=.pdf, where appending the ?a=.pdf query string defeats the nginx attachment/Content-Disposition header and causes the HTML to be served inline and executed. Limiting factors: exploitation requires active administrator interaction (UI:A) - it does not fire automatically; the targeted admin must hold a valid panda_wiki_token session for the JWT theft to yield takeover; and the deployment must run an affected version (3.65.0 through 3.87.5) behind the described nginx static-file serving configuration. |
| Impact | This is a medium-severity stored XSS (CVSS 4.0 base 5.1, CWE-79) whose real-world risk is moderate and conditional rather than critical. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A) confirms the upload step is network-reachable and unauthenticated with low complexity, but UI:A means exploitation cannot complete without an administrator actively opening the attacker's crafted link - the decisive limiting factor. Impact is constrained to the subsequent system (VC:N/VI:N/VA:N on the vulnerable component, SC:L/SI:L on the admin's authenticated session), consistent with JWT theft leading to session takeover rather than direct server compromise. Exploitation signals are mixed and mostly soft: a public PoC reference exists but is not verified as working exploit code; there is no CISA KEV listing (not confirmed actively exploited) and no EPSS score was provided, so widespread automated exploitation cannot be inferred. The vuln.today decision label is 'this_month', not act_now or emergency, matching a patch-on-normal-cadence posture. The CVSS vector and the description are consistent (network-facing unauthenticated upload plus required admin interaction), so no vector/description conflict is present; the main missing signals are EPSS probability and an independently confirmed fixed version. |
| Exploit ScenarioDerived | An unauthenticated attacker uploads a malicious HTML file disguised with an image extension through /share/v1/common/file/upload, then sends an administrator a link to /static-file/<key>?a=.pdf. Because the ?a=.pdf query string bypasses the nginx attachment (Content-Disposition) header, the HTML is served inline and executes in the admin's browser when they open it, exfiltrating the panda_wiki_token JWT for session takeover. A public PoC reference exists but is not verified as working exploit code, and success depends on active administrator interaction (UI:A). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 02, 2026
PandaWiki 3.65.0 through 3.87.5 contains a stored cross-site scripting flaw in the unauthenticated /share/v1/common/file/upload endpoint, where an attacker can upload HTML content under an image extension. The stored payload executes when an administrator is lured to /static-file/<key>?a=.pdf, because the query string defeats nginx attachment handling and causes the HTML to render inline, enabling theft of the panda_wiki_token JWT and session takeover. Exploitation requires administrator interaction and a valid admin session; a public PoC reference exists but is not verified as working exploit code, and the provided data do not confirm active exploitation.
RemediationAI
The available data do not identify a vendor-released fixed version, and PandaWiki 3.87.5 is still listed within the affected range; confirm the current fixed release with the vendor advisory at https://www.vulncheck.com/advisories/pandawiki-3.65.0-through-3.87.5-stored-xss-via-static-file-pdf-query-string-bypass and the GitHub issue at https://github.com/chaitin/PandaWiki/issues/1845 before upgrading. Until a fixed release is confirmed, restrict or disable the unauthenticated /share/v1/common/file/upload endpoint, accepting that this breaks anonymous sharing and file-upload workflows, and require authentication plus server-side validation that rejects HTML or script content regardless of file extension, accepting that legitimate uploads may need allowlisting. Harden nginx for /static-file/ so responses always carry Content-Disposition: attachment and X-Content-Type-Options: nosniff regardless of query string, with the trade-off that legitimate inline previews may stop working and the configuration must be tested. Because exploitation requires an administrator to open a crafted link, warn administrators not to follow untrusted /static-file/<key>?a=.pdf URLs and consider shortening panda_wiki_token session lifetimes or rotating tokens if compromise is suspected.
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
PandaWiki is a Chaitin web application identified by CPE cpe:2.3:a:chaitin:pandawiki:*:*:*:*:*:*:*:* with affected releases 3.65.0 through 3.87.5. The root cause is CWE-79: the unauthenticated file upload path accepts attacker-supplied content, and the application/nginx static-file stack can be induced to serve that stored HTML inline rather than as a download. According to the supplied advisory, appending ?a=.pdf to /static-file/<key> bypasses the nginx attachment/Content-Disposition handling, so script runs in the administrator origin and can read the panda_wiki_token JWT. The CVSS 4.0 vector AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N reflects network reachability, no privileges needed for the upload step, mandatory user interaction, and low scope-changed confidentiality/integrity impact; the independent CVSS 3.1 assessment similarly requires UI:R. Other deployment modes and configurations are not confirmed by the available sources.
Know when Pandawiki 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:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
Upload is unauthenticated (PR:N) over the network with low complexity, but requires luring an admin (UI:R); script runs in the admin's session context (S:C) stealing the JWT for low confidentiality/integrity impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
PandaWiki 3.65.0 through 3.87.5 contains a stored cross-site scripting vulnerability that allows unauthenticated attackers to upload HTML files with image extensions via /share/v1/common/file/upload. Attackers can lure administrators to /static-file/<key>?a=.pdf, bypassing the nginx attachment header to serve HTML inline and steal the panda_wiki_token JWT for session takeover.
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
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
EUVD-2026-115237
GHSA-7h72-q9rr-77j7
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB