{"id":"CVE-2026-27180","aliases":[],"cve":{"records":[{"id":"CVE-2026-27180","source":"VulnCheck","state":"PUBLISHED","reasons":[],"replacements":[],"disputed":false,"unsupportedWhenAssigned":false,"reserved":"2026-02-18T15:22:30.053Z","published":"2026-02-18T21:10:41.057Z","modified":"2026-11-08T14:01:42.883Z"}],"publishers":[{"name":"VulnCheck","role":"CNA","organizationId":"83251b91-4cc7-4094-a5c7-464a1b83ea10","modified":"2026-11-08T14:01:42.883Z"},{"name":"CISA-ADP","role":"ADP","organizationId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","modified":"2026-02-20T18:58:28.508Z"}],"references":[{"url":"https://chocapikk.com/posts/2026/majordomo-revisited/","tags":["third-party-advisory"],"source":"VulnCheck"},{"url":"https://github.com/sergejey/majordomo/pull/1177","tags":["issue-tracking","patch"],"source":"VulnCheck"},{"url":"https://www.vulncheck.com/advisories/majordomo-supply-chain-remote-code-execution-via-update-url-poisoning","tags":["third-party-advisory"],"source":"VulnCheck"}],"weaknesses":[{"id":"CWE-494","description":"Download of Code Without Integrity Check","source":"VulnCheck"}],"applicability":[{"source":"VulnCheck","statements":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:sergejey:majordomo:*:*:*:*:*:*:*:*"}]}]}]}],"prioritization":[{"source":"CISA-ADP","type":"SSVC","role":"CISA Coordinator","timestamp":"2026-02-20T18:58:14.240288Z","decisions":[{"name":"Exploitation","value":"none"},{"name":"Automatable","value":"yes"},{"name":"Technical Impact","value":"total"}]}]},"title":"MajorDoMo Supply Chain Remote Code Execution via Update URL Poisoning","titleSource":"VulnCheck","descriptionSource":"VulnCheck","description":"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.","score":9.8,"severity":"critical","published":"2026-02-18T21:10:41.057Z","modified":"2026-11-08T14:01:42.883Z","withdrawn":false,"knownExploited":false,"affected":[],"products":[{"vendor":"sergejey","name":"MajorDoMo","platforms":[],"versions":[{"version":"0","status":"affected","lessThanOrEqual":"*","versionType":"custom"}],"defaultStatus":"unknown","cpes":[],"source":"VulnCheck","url":"https://www.cve.org/CVERecord?id=CVE-2026-27180"}],"remediation":[],"references":["https://chocapikk.com/posts/2026/majordomo-revisited/","https://github.com/sergejey/majordomo/pull/1177","https://www.vulncheck.com/advisories/majordomo-supply-chain-remote-code-execution-via-update-url-poisoning"],"sources":[{"name":"CVE","id":"CVE-2026-27180","modified":"2026-11-08T14:01:42.883Z","url":"https://www.cve.org/CVERecord?id=CVE-2026-27180"}],"assessments":[{"source":"VulnCheck","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","score":9.3},{"source":"VulnCheck","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","score":9.8}],"sourceAffected":[],"observedAt":"2026-11-08T14:17:24.624Z","kev":{"status":"not-listed","checkedAt":"2026-11-15T02:30:32.029Z"},"coverage":[{"source":"NVD","status":"refresh-failed","attemptedAt":"2026-11-09T05:55:42.815Z"},{"source":"GHSA","status":"available","checkedAt":"2026-11-09T05:55:39.354Z","attemptedAt":"2026-11-09T05:55:39.354Z"},{"source":"EUVD","status":"refresh-failed","attemptedAt":"2026-11-09T05:55:36.643Z"},{"source":"EPSS","status":"available","checkedAt":"2026-11-09T05:55:37.973Z","attemptedAt":"2026-11-09T05:55:37.973Z"}],"evidence":[{"source":"FIRST EPSS","id":"CVE-2026-27180","url":"https://www.first.org/epss/","probability":0.01198,"percentile":0.68328,"date":"2026-11-08","checkedAt":"2026-11-09T05:55:37.973Z"},{"source":"GitHub Advisory Database","id":"GHSA-grp8-p6j9-9x5f","url":"https://github.com/advisories/GHSA-grp8-p6j9-9x5f","modified":"2026-02-19T00:30:30Z","score":9.8,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","checkedAt":"2026-11-09T05:55:39.354Z"}],"aiSummary":{"text":"MajorDoMo version 0 is vulnerable to unauthenticated remote code execution through supply chain compromise via update URL poisoning, allowing an attacker to deploy arbitrary PHP files. The vulnerability is due to the saverestore module exposing its admin() method without authentication and the autoUpdateSystem() method fetching an Atom feed from an attacker-controlled URL with trivial validation. An attacker can trigger the force_update handler to initiate the update chain with two GET requests.","model":"@cf/meta/llama-3.3-70b-instruct-fp8-fast","generatedAt":"2026-11-08T16:41:13.937Z","sources":[{"name":"CVE","url":"https://www.cve.org/CVERecord?id=CVE-2026-27180"}]}}