CVE-2026-27180

9.8 CRITICAL

📋 TL;DR

CVE-2026-27180 allows unauthenticated attackers to execute arbitrary code on MajorDoMo systems by poisoning the update URL. Attackers can deploy webshells or other malicious PHP files to the webroot with just two GET requests. All MajorDoMo installations with the vulnerable saverestore module are affected.

💻 Affected Systems

Products:
  • MajorDoMo (Major Domestic Module)
Versions: All versions prior to the fix
Operating Systems: Linux-based systems where MajorDoMo is deployed
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerability exists in the saverestore module which is typically enabled by default. Systems with the /objects/?module=saverestore endpoint accessible are vulnerable.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete system compromise with attacker gaining persistent access, deploying ransomware, stealing sensitive data, and using the system as a pivot point for lateral movement.

🟠

Likely Case

Deployment of webshells leading to data exfiltration, cryptocurrency mining, or participation in botnets.

🟢

If Mitigated

Limited impact if network segmentation prevents external access to vulnerable endpoints or if web application firewalls block malicious requests.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: CONFIRMED
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

Exploitation requires only two GET requests and an attacker-controlled server. The vulnerability is trivial to exploit with publicly available proof-of-concept code.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Check GitHub pull request #1177 for specific version

Vendor Advisory: https://github.com/sergejey/majordomo/pull/1177

Restart Required: No

Instructions:

1. Update to the latest MajorDoMo version from the official repository. 2. Apply the patch from GitHub pull request #1177 which fixes authentication checks in the saverestore module. 3. Verify that the /objects/?module=saverestore endpoint now requires proper authentication.

🔧 Temporary Workarounds

Block Vulnerable Endpoint

all

Block access to the saverestore module endpoint using web server configuration or firewall rules.

# Apache: RewriteRule ^/objects/\?module=saverestore - [F,L]
# Nginx: location ~* /objects/\?module=saverestore { return 403; }

Disable Auto-Update Feature

linux

Disable the auto-update functionality in MajorDoMo configuration to prevent URL poisoning.

# Edit MajorDoMo configuration to set auto_update = 0

🧯 If You Can't Patch

  • Implement strict network access controls to limit access to the MajorDoMo web interface to trusted IP addresses only.
  • Deploy a web application firewall (WAF) with rules to block requests containing suspicious update URLs or patterns targeting the saverestore module.

🔍 How to Verify

Check if Vulnerable:

Test if unauthenticated access to /objects/?module=saverestore&mode=auto_update_settings is possible. If it accepts parameters without authentication, the system is vulnerable.

Check Version:

Check the MajorDoMo version in the web interface or examine the source code for the patched authentication logic.

Verify Fix Applied:

Verify that the saverestore module endpoints now require proper authentication and that auto_update_settings mode validates update URLs properly.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /objects/?module=saverestore with mode=auto_update_settings or mode=force_update from untrusted sources
  • Unusual file creation in webroot directories, especially PHP files with suspicious names

Network Indicators:

  • Outbound connections from the MajorDoMo server to unfamiliar domains on ports 80/443 following update requests
  • HTTP GET requests with suspicious URL parameters in the update field

SIEM Query:

source="web_access.log" AND (uri="/objects/" AND query="module=saverestore") AND (src_ip NOT IN trusted_networks)

🔗 References

📤 Share & Export