---
id: CVE-2026-27180
title: MajorDoMo Supply Chain Remote Code Execution via Update URL Poisoning
summary: >-
  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=saveres…
severity: critical
cvss: 9.8
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
cwe:
  - CWE-494
vendor: sergejey
product: MajorDoMo
affected:
  - MajorDoMo <= *
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-02-20T18:58:14.240288Z'
exploitAvailable: true
published: '2026-02-18'
updated: '2026-11-08'
sourceUpdated: '2026-11-08T14:01:42.883Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-27180'
references:
  - url: 'https://chocapikk.com/posts/2026/majordomo-revisited/'
    label: 'MajorDoMo Revisited: What I Missed in 2023'
  - url: 'https://github.com/sergejey/majordomo/pull/1177'
    label: 'Fix PR: sergejey/majordomo#1177'
  - url: >-
      https://www.vulncheck.com/advisories/majordomo-supply-chain-remote-code-execution-via-update-url-poisoning
    label: >-
      VulnCheck Advisory: MajorDoMo Supply Chain Remote Code Execution via
      Update URL Poisoning
tags:
  - cve.org
  - exploit-available
epss: 0.01198
epssPercentile: 0.68328
exploits:
  github: 1
  githubRepos:
    - 'https://github.com/mbanyamer/CVE-2026-27180-MajorDoMo-unauthenticated-RCE'
  metasploit:
    - exploit/multi/http/majordomo_supply_chain_rce
  checkedAt: '2026-11-08T14:51:57.350Z'
ingestedAt: '2026-11-08T14:51:22.467Z'
---

## Overview

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.

## Affected

- `MajorDoMo <= *`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
