CVE-2026-33229
Description
XWiki Platform is a generic wiki platform offering runtime services for applications built on top of it. Prior to 17.4.8 and 17.10.1, an improperly protected scripting API allows any user with script right to bypass the sandboxing of the Velocity scripting API and execute, e.g., arbitrary Python scripts, allowing full access to the XWiki instance and thereby compromising the confidentiality, integrity and availability of the whole instance. Note that script right already constitutes a high level of access that we don't recommend giving to untrusted users. This vulnerability is fixed in 17.4.8 and 17.10.1.
Affected packages
Versions sourced from the GitHub Security Advisory.
| Package | Affected versions | Patched versions |
|---|---|---|
org.xwiki.platform:xwiki-platform-oldcoreMaven | >= 17.0.0-rc-1, < 17.4.8 | 17.4.8 |
org.xwiki.platform:xwiki-platform-oldcoreMaven | >= 17.5.0-rc-1, < 17.10.1 | 17.10.1 |
org.xwiki.platform:xwiki-platform-legacy-oldcoreMaven | >= 17.0.0-rc-1, < 17.4.8 | 17.4.8 |
org.xwiki.platform:xwiki-platform-legacy-oldcoreMaven | >= 17.5.0-rc-1, < 17.10.1 | 17.10.1 |
Affected products
1Patches
19fe84da66184XWIKI-23698: ScriptXWikiServletRequest#getRequest() should only be available with programming right
2 files changed · +31 −0
xwiki-platform-core/xwiki-platform-oldcore/src/main/java/com/xpn/xwiki/render/ScriptXWikiServletRequest.java+19 −0 modified@@ -22,6 +22,7 @@ import java.util.Set; import javax.servlet.ServletContext; +import javax.servlet.ServletRequest; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; @@ -80,6 +81,24 @@ public ServletContext getServletContext() return null; } + /** + * {@inheritDoc} + * <p> + * Only allowed to author with programming right because it allows access to the underlying request that doesn't + * enforce any security checks. + * + * @see javax.servlet.ServletRequestWrapper#getRequest() + */ + @Override + public ServletRequest getRequest() + { + if (this.authorization.hasAccess(Right.PROGRAM)) { + return super.getRequest(); + } + + return null; + } + /** * {@inheritDoc} * <p>
xwiki-platform-core/xwiki-platform-oldcore/src/test/java/com/xpn/xwiki/internal/render/ScriptXWikiServletRequestTest.java+12 −0 modified@@ -147,6 +147,18 @@ void getHttpServletRequest() assertSame(this.scriptRequest, this.scriptRequest.getHttpServletRequest()); } + @Test + void getRequest() + { + setProgramingRight(true); + + assertSame(this.request, this.scriptRequest.getRequest()); + + setProgramingRight(false); + + assertNull(this.scriptRequest.getRequest()); + } + @Test void sessionGetServletContext() {
Vulnerability mechanics
Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.
References
6- github.com/xwiki/xwiki-platform/commit/9fe84da66184c05953df9466cf3a4acd15a46e63nvdPatchWEB
- github.com/xwiki/xwiki-platform/security/advisories/GHSA-h259-74h5-4rh9nvdPatchVendor AdvisoryWEB
- jira.xwiki.org/browse/XWIKI-23698nvdExploitVendor AdvisoryWEB
- jira.xwiki.org/browse/XWIKI-23702nvdExploitVendor AdvisoryWEB
- github.com/advisories/GHSA-h259-74h5-4rh9ghsaADVISORY
- nvd.nist.gov/vuln/detail/CVE-2026-33229ghsaADVISORY
News mentions
0No linked articles in our index yet.