CVE-2026-27180

MajorDoMo (aka Major Domestic Module) is vulnerable to unauthenticated remote code execution through supply chain compromise via update URL poisoning. The saverestore module exposes its admin() method through the /objects/?module=saverestore endpoint without authentication because it uses gr('mode') (which reads directly from $_REQUEST) instead of the framework's $this->mode. An attacker can poison the system update URL via the auto_update_settings mode handler, then trigger the force_update handler to initiate the update chain. The autoUpdateSystem() method fetches an Atom feed from the attacker-controlled URL with trivial validation, downloads a tarball via curl with TLS verification disabled (CURLOPT_SSL_VERIFYPEER set to FALSE), extracts it using exec('tar xzvf ...'), and copies all extracted files to the document root using copyTree(). This allows an attacker to deploy arbitrary PHP files, including webshells, to the webroot with two GET requests.
Configurations

Configuration 1 (hide)

cpe:2.3:a:mjdm:majordomo:-:*:*:*:*:*:*:*

History

20 Feb 2026, 19:51

Type Values Removed Values Added
References () https://chocapikk.com/posts/2026/majordomo-revisited/ - () https://chocapikk.com/posts/2026/majordomo-revisited/ - Exploit, Third Party Advisory
References () https://github.com/sergejey/majordomo/pull/1177 - () https://github.com/sergejey/majordomo/pull/1177 - Exploit, Issue Tracking
References () https://www.vulncheck.com/advisories/majordomo-supply-chain-remote-code-execution-via-update-url-poisoning - () https://www.vulncheck.com/advisories/majordomo-supply-chain-remote-code-execution-via-update-url-poisoning - Third Party Advisory
Summary
  • (es) MajorDoMo (también conocido como Major Domestic Module) es vulnerable a la ejecución remota de código no autenticada a través de un compromiso de la cadena de suministro mediante el envenenamiento de la URL de actualización. El módulo saverestore expone su método admin() a través del endpoint /objects/?module=saverestore sin autenticación porque usa gr('mode') (que lee directamente de $_REQUEST) en lugar del $this->mode del framework. Un atacante puede envenenar la URL de actualización del sistema a través del manejador de modo auto_update_settings, y luego activar el manejador force_update para iniciar la cadena de actualización. El método autoUpdateSystem() obtiene un feed Atom de la URL controlada por el atacante con una validación trivial, descarga un tarball vía curl con la verificación TLS deshabilitada (CURLOPT_SSL_VERIFYPEER establecido en FALSE), lo extrae usando exec('tar xzvf ...'), y copia todos los archivos extraídos a la raíz del documento usando copyTree(). Esto permite a un atacante desplegar archivos PHP arbitrarios, incluyendo webshells, en la raíz web con dos solicitudes GET.
First Time Mjdm
Mjdm majordomo
CPE cpe:2.3:a:mjdm:majordomo:-:*:*:*:*:*:*:*

18 Feb 2026, 22:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-02-18 22:16

Updated : 2026-02-20 19:51


NVD link : CVE-2026-27180

Mitre link : CVE-2026-27180

CVE.ORG link : CVE-2026-27180


JSON object : View

Products Affected

mjdm

  • majordomo
CWE
CWE-494

Download of Code Without Integrity Check