VYPR
Critical severity9.8NVD Advisory· Published Apr 8, 2026· Updated Apr 14, 2026

CVE-2026-33229

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.

PackageAffected versionsPatched versions
org.xwiki.platform:xwiki-platform-oldcoreMaven
>= 17.0.0-rc-1, < 17.4.817.4.8
org.xwiki.platform:xwiki-platform-oldcoreMaven
>= 17.5.0-rc-1, < 17.10.117.10.1
org.xwiki.platform:xwiki-platform-legacy-oldcoreMaven
>= 17.0.0-rc-1, < 17.4.817.4.8
org.xwiki.platform:xwiki-platform-legacy-oldcoreMaven
>= 17.5.0-rc-1, < 17.10.117.10.1

Affected products

1
  • cpe:2.3:a:xwiki:xwiki:*:*:*:*:*:*:*:*
    Range: >=17.0.0,<17.4.8

Patches

1
9fe84da66184

XWIKI-23698: ScriptXWikiServletRequest#getRequest() should only be available with programming right

https://github.com/xwiki/xwiki-platformMichael HamannDec 10, 2025via ghsa
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

News mentions

0

No linked articles in our index yet.