VU#734812: Xerte Online Toolkit contains an authentication bypass that allows for RCE

Kurzinfo

Metadaten

  • Original (extern): Link oeffnen
  • Veroeffentlicht: 2026-07-09 12:37 UTC
  • Importiert: 2026-07-30 15:37 UTC
  • CVSS: 9.8
  • Quelle-ID: certcc_vuln
  • uid_hash: fd4b0f93c13ed63a9d7b3bf2ea1611a438b4c1dc7f4463d74d900f064ca0af41

Inhalt

Overview

Two vulnerabilities have been discovered in Xerte Online Toolkits, an open-source e-learning authoring toolsuite intended for the creation of learning materials within a web browser. CVE-2026-14261 tracks the persistence of the /setup/ directory after installation, which allows an unauthenticated attacker to reconfigure the application to point to a remote database they control in order to gain administrative access. CVE-2026-12116 tracks an editable antivirus binary path that can be redirected to a PHP interpreter, causing uploaded files to be executed as PHP code and resulting in remote code execution (RCE). Version v3.15.5 or v3.14.6 of Xerte Online Toolkits fixes these vulnerabilities.

Description

Xerte Online Toolkits is a suite of a free, open-source e-learning authoring tools that allows users to make educational materials directly in-browser. The toolset is installed from multiple packages, and creates a setup folder that persists after installation.

CVE-2026-14261

A vulnerability in Xerte Online Toolkits allows for authentication bypass and remote code execution via reinstallation through the /setup/ folder, enabling attackers to reinstall the service to a remote database they control.

CVE-2026-12116

A vulnerability in Xerte Online Toolkits allows for RCE through the antivirus binary path in the tools server settings. The antivirus binary runs on all uploaded files, but the path to the binary can be modified using the configuration menu. An attacker can achieve remote code execution by redirecting the path to a PHP interpreter, causing any uploaded PHP scripts to be executed.

During installation, Xerte creates a /setup/ folder to configure database connection settings. This folder persists post-installation without access controls or automatic cleanup, and /setup/index.php does not verify whether installation has completed. An attacker can revisit /setup/ and reconfigure the application to point to a remote database, thereby gaining administrative access.

After gaining admin privileges, an attacker can abuse CVE-2026-12116 by editing the antivirus binary path to point to a PHP interpreter. This causes any new uploaded files to be passed to the PHP runtime through website_code/php/import/fileupload.php, bypassing file extension checks and resulting in remote code execution.

Impact

Successful exploitation can allow full remote code execution on the affected server. This enables attackers to establish persistent access, exfiltrate data, or launch supply chain attacks by injecting malicious content into educational materials distributed by the platform.

Solution

These issues have been addressed in two commits:

  • 8fec660 removes /setup/ automatically after installation/upgrade and blocks reuse.

  • 8ef2062 moves sensitive configuration files, including the antivirus binary path, to server-side locations.

Users should take the following steps immediately:

  1. Manually remove the initial installation /setup/ folder from installations.

  2. Upgrade to Xerte v3.15.5 or v3.14.6 and run upgrade.php, which enforces automatic /setup/ removal and includes security hardening. If removal fails, the updated code still prevents exploitation.

This blog post: https://www.xerte.org.uk/index.php/en/news/blog/80-news/364-xerte-3-14-and-3-15-important-security-update contains more information and contact data for Xerte.

Acknowledgements

Thanks to the reporter, George Filippov from the Vexel Foundation. This document was written by Christopher Cullen.

Vendor Information

    One or more vendors are listed for this advisory. Please reference the full report for more information.

References

https://github.com/thexerteproject/xerteonlinetoolkits/issues/1532

https://github.com/thexerteproject/xerteonlinetoolkits/commit/8ef20628f80bd88bd1fe3e5844a9116a910086b7

https://github.com/thexerteproject/xerteonlinetoolkits/commit/8fec6602e80c5d35903d65e65b65b794297d8e90

https://github.com/thexerteproject/xerteonlinetoolkits/issues/1543

https://www.xerte.org.uk/index.php/en/news/blog/80-news/364-xerte-3-14-and-3-15-important-security-update

Other Information

CVE IDs:

CVE-2026-12116 CVE-2026-14261

Date Public:

2026-07-09

Date First Published: 2026-07-09

Date Last Updated: 2026-07-09 12:37 UTC

Document Revision: 1

About vulnerability notes

Contact us about this vulnerability

Provide a vendor statement

Verknuepfte CVEs

CVE-ID Severity (Quelle) CVSS (Quelle) Severity (CVE.org) CVSS (CVE.org) EPSS EPSS-Pctl Veroeffentlicht (CVE.org)

CVE-2026-12116

CRITICAL

9.8

CRITICAL

9.8

2026-07-09

CVE-2026-14261

CRITICAL

9.8

CRITICAL

9.1

2026-07-09

Quellen-Details

Bezeichnung Name Kategorie Tags Zielgruppe Sprache Feed-URL
CERT/CC Vulnerability Notes

certcc_vuln

threat_intel - de https://www.kb.cert.org/vuls/atomfeed/