Skip to main content

PandaWiki EUVDEUVD-2026-115237

| CVE-2026-120428 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-11-02 VulnCheck GHSA-7h72-q9rr-77j7
5.1
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Upload HTML disguised as image (unauthenticated)
  2. Delivery
    Craft /static-file/<key>?a=.pdf link
  3. Exploit
    Lure administrator to open link
  4. Execution
    nginx serves HTML inline, script executes
  5. Impact
    Steal 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).

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

PandaWiki 3.65.0 ≤3.87.5

Affected Packages

euvd pandawiki no fix

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

Vendor (VulnCheck) PRIMARY 5.1 MEDIUM
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
vuln.today AI 6.1 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
Low
Subsequent system: Integrity
Low
Subsequent system: Availability
None

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

EPSS Score
0.4%
Top 70% exploitable
Prevalence
Low
niche open-source chaitin AI wiki, limited enterprise footprint
Exploit
POC
Public exploit code exists
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.4%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy