CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2025-53837

CVE-2025-53837: Remote Code Execution in XWiki Rendering via Macro Escape Injection

Alon Barad
Alon Barad
Software Engineer

Sep 18, 2026·4 min read·5 visits

Executive Summary (TL;DR)

Unauthenticated or low-privilege users can inject the "{{/html}}" sequence to escape HTML macro scopes and run arbitrary code on the host OS via privileged script macros.

CVE-2025-53837 is a critical remote code execution (RCE) vulnerability in XWiki Rendering before versions 14.10.2 and 15.0 RC1. The vulnerability arises from a failure to escape macro closing tags within raw output handled by HTML macro blocks. This allows low-privilege users to escape the restricted HTML container and execute high-privilege scripts under the application's context.

Vulnerability Overview

XWiki is a highly extensible, Java-based enterprise wiki platform that supports advanced scripting and rendering. At the core of its platform is the XWiki Rendering engine, a framework responsible for translating multiple input syntaxes (such as XWiki 2.1, Markdown, or HTML) into output formats like XHTML. A key design element of XWiki is its support for nested macros, which are dynamic blocks that execute code, format content, or interface with internal services. Among these, the HTML macro allows users to embed raw HTML components within standard wiki pages.

The vulnerability, identified as CVE-2025-53837, resides in how XWiki processes raw output inside the HTML macro context. When executing with the configuration wiki="true", the HTML macro processes dynamic evaluations within an isolated container. However, the system's underlying rendering handler failed to properly escape macro delimiters when outputting raw data. This omission exposes a vulnerability class known as Eval Injection (CWE-95) combined with Output Escaping Failure (CWE-116).

The practical security boundary breached here is the rendering sandbox. In XWiki, page editors can customize certain profile sections or document pages. If a low-privilege user can modify any page that gets executed or viewed under a highly privileged context, they can leverage this rendering vulnerability to elevate privileges. When the system processes the user-supplied content containing macro closing sequences, it breaks the macro boundaries and executes subsequent script elements with system-level authorization.

Root Cause Analysis

The root cause of CVE-2025-53837 lies within the XHTMLWikiPrinter class, which is a key component of the XWiki Rendering library. This class handles the construction of XHTML tags and manages raw output when generating serialized wiki streams. When an HTML macro is invoked with the parameter wiki="true", the content inside the macro is analyzed and converted. To achieve direct output without double-encoding standard HTML structures, the engine invokes printRaw(String) to output raw text segments to the final rendering channel.

Prior to the resolution of this vulnerability, the printRaw method implemented in XHTMLWikiPrinter did not examine the contents of the raw buffer for active macro delimiters. The exact structure used to terminate an HTML macro block is the sequence {{/html}}. Because the renderer treated raw input as trustable structural content, any literal sequence matching {{/html}} injected into a raw string was output directly to the stream. This directly terminated the parser's active HTML macro block ahead of schedule.

Once the HTML macro container is prematurely terminated, the parser transitions back to interpreting standard wiki syntax. Any syntax elements following the injected {{/html}} sequence are parsed outside the HTML macro. Crucially, if this rendering process occurs on pages with programming rights—such as standard user profile pages or administrative views—the parser executes arbitrary macro blocks located after the fake termination. An attacker can append administrative scripting macros, such as {{groovy}} or {{python}}, which run code outside of the typical sandboxed environment. This architectural flaw converts a simple content-rendering step into an unrestricted execution vector.

Code Analysis

An examination of the vulnerable implementation versus the patched implementation demonstrates how the boundary leak was closed. In the vulnerable version, XHTMLWikiPrinter.java implemented the printRaw(String) method with a direct pass-through to its parent class. This class failed to scan for the macro delimiter sequence {{/html}}, allowing raw text to influence the parser's structural boundaries.

// Vulnerable Implementation
public void printRaw(String raw)
{
    // Triggers space handling before starting elements
    handleSpaceWhenStartElement();
    
    // Passes the raw string directly to the parent printer without validation
    super.printRaw(raw);
}

The fix, introduced in commit 92bc8095ed3acce15ab200c8525e1623b4898be5, introduces structured validation and replacement rules inside printRaw(String) to prevent context-escape attempts. It sanitizes the direct sequence and also prevents boundary-spanning injection techniques.

// Patched Implementation in XHTMLWikiPrinter.java
public void printRaw(String raw)
\{
    handleSpaceWhenStartElement();
    
    // First-stage fix: Escape any direct occurrences of the closing tag
    // By replacing "\{\

Technical Appendix

CVSS Score
9.9/ 10

Affected Systems

cpe:2.3:o:netgear:r6080_firmware:*:*:*:*:*:*:*:*
AttributeDetail
Improproper Input ValidationAn issue was discovered in NETGEAR R6080 routers through 1.0.0.46. The login.cgi and upgrade.cgi pages and multiple dynamic parameters (such as formUsername, hidden_sysPassword, sysPassword, save_reboot, and select_country) are vulnerable to buffer overflow. An attacker can hijack a stack variable and crash the system or execute arbitrary code with admin privileges by writing over boundary limits of variables.

More Reports

•22 minutes ago•GHSA-JR78-W6W5-M8F8
7.3

GHSA-JR78-W6W5-M8F8: Missing Authorization in Semantic MediaWiki smwtask API Module Allows Unauthenticated Administrative Actions

Semantic MediaWiki starting from version 3.0.0 up to and including 7.2.1 is vulnerable to an unauthenticated missing authorization flaw in its `smwtask` API module. The endpoint fails to execute permission or privilege checks on callers. Instead, it relies on a CSRF token check, which can be satisfied by anonymous users using MediaWiki's static public CSRF token. Remote, unauthenticated attackers can exploit this flaw to retrieve internal database statistics, enqueue background jobs, run database queries, or trigger entity disposal processes, potentially leading to information disclosure, database corruption, and Denial of Service.

Alon Barad
Alon Barad
2 views•6 min read
•about 2 hours ago•CVE-2026-77281
6.5

CVE-2026-77281: Rewrite Placeholder Re-expansion Vulnerability in Caddy Web Server

A critical double-evaluation vulnerability exists in the rewrite module of the Caddy web server. Under specific configurations where a rewrite directive ends with a literal question mark and processes client-controlled headers, the system performs a secondary expansion pass. This allows attackers to evaluate arbitrary internal placeholder variables, leading to unauthorized disclosure of sensitive environment variables and system files.

Amit Schendel
Amit Schendel
4 views•8 min read
•about 3 hours ago•CVE-2026-77615
8.7

CVE-2026-77615: Stored Cross-Site Scripting (XSS) in Paella Player as used in Opencast

CVE-2026-77615 is a high-severity Stored Cross-Site Scripting (XSS) vulnerability in the Paella Player component, which is integrated as the default front-end media viewer in Opencast. Unsafe client-side rendering of subtitle tracks allows authenticated, low-privileged users to inject arbitrary JavaScript payloads via crafted WebVTT or DFXP files. The script executes within the context of any viewer session under the host origin, enabling session hijacking and unauthorized API interaction.

Alon Barad
Alon Barad
3 views•5 min read
•about 4 hours ago•GHSA-9395-2G46-RJ3F
8.2

GHSA-9395-2G46-RJ3F: Multiple Cross-Site Scripting (XSS) Vulnerabilities in djust Template and Live Engine

A comprehensive technical analysis of six Cross-Site Scripting (XSS) vulnerability classes in the djust framework versions 1.0.0 through 1.1.0, involving escaping failures across the Python-Rust template boundary and stateful WebSocket cache lifecycles.

Alon Barad
Alon Barad
4 views•10 min read
•about 5 hours ago•GHSA-XJW9-38CR-6372
8.2

GHSA-XJW9-38CR-6372: Cross-Site Scripting via Stale Safe-Key Inheritance in djust Template Shadowing

An escaping defect in the djust templating engine allows Cross-Site Scripting (XSS) when a template binding construct shadows a variable that was previously marked safe. The Rust-based context safety tracking incorrectly preserves name-based safety grants even after the variable name has been bound to a new, untrusted value.

Amit Schendel
Amit Schendel
5 views•6 min read
•about 6 hours ago•CVE-2026-81875
7.5

CVE-2026-81875: Unbounded DEFLATE Decompression Denial of Service in HAPI FHIR SHCParser

A critical denial of service vulnerability exists in the HAPI FHIR SHCParser within the org.hl7.fhir.core Java library. Unbounded decompression of raw DEFLATE data during Smart Health Card parsing allows unauthenticated remote attackers to trigger JVM heap exhaustion and crash the application.

Alon Barad
Alon Barad
6 views•7 min read