Skip to main content

XWiki CVE-2026-34151

| EUVDEUVD-2026-77676 HIGH
Path Traversal: '../filedir' (CWE-24)
2026-07-07 https://github.com/xwiki/xwiki-platform GHSA-qj4x-9g63-25g6
8.2
CVSS 4.0 · Vendor: https://github.com/xwiki/xwiki-platform
View

Attack ChainAIDerived

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

  1. Access
    Locate XWiki-on-Jetty-12 host
  2. Delivery
    Craft double-encoded ../ skin URL
  3. Exploit
    Bypass path normalization in resource resolver
  4. Execution
    Read config or OS file
  5. Impact
    Exfiltrate credentials and secrets

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path traversal prevention
Exploitation Conditions

Exploitation requires the target to be XWiki (before 17.10.5 / 18.2.0) served by Jetty version 12 or later - Tomcat and Jetty <12 are not affected, which is the single strongest limiting factor. The request must target the skin resource action (/xwiki/bin/skin/) using doubly URL-encoded traversal segments (..%252f). Disclosure of in-webapp files (WEB-INF/xwiki.cfg, Hibernate config) works on any affected Jetty-12 deployment; disclosure of files outside the webapp (e.g. /etc/passwd) additionally requires the webapp to sit exactly as many directory levels below '/' as there are ../ segments in the URL (five levels in the official Docker image) and requires the Jetty OS process to have read permission on the target file. No authentication or user interaction is indicated for the skin endpoint, though no CVSS vector was supplied to formally confirm the privilege level.

Impact

No CVSS vector, EPSS score, or KEV entry was provided, so quantitative risk signals are absent and must be inferred. Qualitatively the risk is meaningful: the attack is over the network against the public skin endpoint, requires no authentication in typical XWiki deployments, and yields confidentiality-only impact (arbitrary file read, no write or availability loss). The most damaging out-of-webapp read (e.g. /etc/passwd) is conditional - it only works when the webapp is exactly N directory levels below '/', matching the ../ count, which the Docker image happens to satisfy - so full OS file disclosure is deployment-dependent. However, reading in-webapp secrets like WEB-INF/xwiki.cfg and Hibernate DB credentials works regardless of depth, making this a reliable secret-disclosure primitive that can seed follow-on attacks. Net: a genuine priority for internet-facing XWiki-on-Jetty-12 instances, lower urgency for those on Tomcat or Jetty <12.

Exploit ScenarioDerived

An unauthenticated attacker discovers an internet-facing XWiki instance running the Docker image (Jetty 12), then requests http://[host]/xwiki/bin/skin/..%252f/..%252fWEB-INF/xwiki.cfg to retrieve the XWiki and Hibernate configuration, including database credentials. Because the advisory publishes the exact working URLs, no exploit development is needed; the attacker can also attempt the deeper ..%252f chain to /etc/passwd where the webapp depth matches.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.5% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 07, 2026

Path traversal in XWiki running on Jetty 12+ lets remote users read arbitrary files the Jetty process can access by sending doubly URL-encoded '../' sequences to the skin resource endpoint (e.g. /xwiki/bin/skin/..%252f/..). Depending on how deep the webapp sits below root, this exposes both in-webapp secrets such as WEB-INF/xwiki.cfg and Hibernate configuration, and out-of-webapp OS files like /etc/passwd. No public exploit or active exploitation is tracked, but the vendor advisory (GHSA-qj4x-9g63-25g6) itself publishes working request URLs, so weaponization is trivial.

RemediationAI

Vendor-released patch: XWiki 17.10.5 and 18.2.0 - upgrade to one of these fixed versions as the primary remediation (advisory: https://github.com/xwiki/xwiki-platform/security/advisories/GHSA-qj4x-9g63-25g6; upstream fix: https://github.com/xwiki/xwiki-commons/pull/1675; tracking: https://jira.xwiki.org/browse/XCOMMONS-3594 and https://jira.xwiki.org/browse/XWIKI-24075). If immediate patching is not possible, the vendor-suggested workaround is to switch the application server away from Jetty 12+ to Tomcat, or to Jetty <12 for XWiki < 17, since those servers normalize the malicious encoding - the trade-off is a non-trivial infrastructure change and revalidation of the deployment. As an additional compensating control, place a reverse proxy or WAF rule in front of XWiki to reject requests to the /bin/skin/ path containing encoded traversal patterns (%252f, %2e%2e, '..'), and ensure the Jetty OS user has least-privilege filesystem access so that even a successful traversal cannot reach sensitive OS files; note that overly broad proxy rules can break legitimate skin resource loading and should be tested.

Affected VersionsENISA

xwiki-platform 18.0.0-rc-1, < 18.2.0
xwiki-platform < 17.10.5

Affected Packages

maven org.xwiki.platform:xwiki-platform-oldcore fix: 17.10.5, 18.2.0
euvd xwiki_platform fix: 17.10.5
euvd xwiki_platform_18_0_0_rc_1 fix: 18.2.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in maven, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

XWiki is a Java-based open-source enterprise wiki platform; the vulnerable code lives in xwiki-platform-oldcore (pkg:maven/org.xwiki.platform:xwiki-platform-oldcore) and the fix was staged in xwiki-commons (PR #1675). The flaw is a classic CWE-24 Path Traversal ('../filedir'): the skin action resolves a client-supplied resource path without fully canonicalizing it. The bug is triggered only under Jetty 12+, whose URI handling passes doubly-encoded percent sequences (%252f decodes to %2f then to '/') through to XWiki's resource resolver, letting the '..%252f' segments escape the intended skin directory. Earlier Jetty (<12) and Tomcat normalize or reject these sequences, which is why they are reported as unaffected.

Know when Docker 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 (https://github.com/xwiki/xwiki-platform) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Remote unauthenticated request to the public skin endpoint (AV:N/PR:N/UI:N) with reliable in-webapp file read gives AC:L and C:H; no integrity or availability impact, scope unchanged within the app process.

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

Primary rating from Vendor (https://github.com/xwiki/xwiki-platform).

CVSS VectorVendor: https://github.com/xwiki/xwiki-platform

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

Lifecycle Timeline

1
CVSS changed
Sep 14, 2026 - 18:37 NVD
8.2 (HIGH)

DescriptionCVE.org

Impact

With Jetty 12+ a user can craft a URL to access any resource the Jetty instance is allowed to access.

For example http://[host]/xwiki/bin/skin/..%252f/..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc/passwd allows downloading the content of the /etc/passwd file, provided Jetty is allowed to read it, and if your XWiki webapp is located exactly 5 levels below / (like /var/lib/jetty/webapps/xwiki, which is the case in the docker image, for example).

Another example which does not go out of the XWiki webapp, but it's still a vulnerability (since users should not be allowed to access Hibernate or XWiki configuration files) is http://[host]/xwiki/bin/skin/..%252f/..%252fWEB-INF/xwiki.cfg.

Patches

This vulnerability has been patched in XWiki 17.10.5 and 18.2.0.

Workarounds

A possible workaround is to use a different application server, like Jetty < 12 (in the case of XWiki < 17) or Tomcat, which don't seem to be impacted.

Resources

  • https://jira.xwiki.org/browse/XWIKI-24075
  • https://jira.xwiki.org/browse/XCOMMONS-3594

For more information

If there are any questions or comments about this advisory:

  • Open an issue in Jira XWiki.org
  • Send an email to the [Security Mailing List](mailto:security@xwiki.org)

Attribution

Lê Ngọc Khoa reported the vulnerability.

Executive ViewAI

Why It Matters

XWiki deployments on Jetty 12 and later contain a path traversal vulnerability allowing remote file disclosure, including database credentials, encryption keys, and sensitive application configuration. The vendor has published patch details with working proof-of-concept URLs, requiring immediate remediation to prevent credential theft and potential system compromise.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.5%
Top 56% exploitable
Prevalence
Medium
popular open-source enterprise wiki, moderate but not ubiquitous deployment
Threat Intel
1
1 sources
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 HIGH
CISA KEV No
Public POC Yes
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.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· derived
Poc
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

62
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +41
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2025-14707 HIGH POC
8.9 Dec 15

Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

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