CVE-2022-27128

9.8 CRITICAL

📋 TL;DR

CVE-2022-27128 is an authentication bypass vulnerability in zbzcms v1.0 that allows unauthenticated attackers to add administrator accounts via the /admin/run_ajax.php endpoint. This affects all installations of zbzcms v1.0 with the default configuration. Attackers can gain full administrative control of the CMS.

💻 Affected Systems

Products:
  • zbzcms
Versions: v1.0
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable. No special configuration required for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of the CMS installation allowing attackers to create admin accounts, modify content, upload malicious files, and potentially pivot to the underlying server.

🟠

Likely Case

Attackers create backdoor admin accounts to maintain persistent access, deface websites, or steal sensitive data stored in the CMS.

🟢

If Mitigated

With proper network segmentation and web application firewalls, exploitation attempts are blocked and logged for investigation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

The vulnerability is simple to exploit with publicly available proof-of-concept code. No authentication required.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Unknown

Vendor Advisory: None available

Restart Required: No

Instructions:

No official patch exists. Recommended action is to upgrade to a different CMS or implement workarounds.

🔧 Temporary Workarounds

Block access to vulnerable endpoint

all

Restrict access to /admin/run_ajax.php via web server configuration or firewall rules

# Apache: RewriteRule ^/admin/run_ajax\.php$ - [F,L]
# Nginx: location ~ /admin/run_ajax\.php$ { deny all; }

Implement authentication middleware

all

Add authentication checks to the run_ajax.php file to verify user is logged in as admin

# Add to top of /admin/run_ajax.php: session_start(); if(!isset($_SESSION['admin']) || $_SESSION['admin'] != true) { die('Access Denied'); }

🧯 If You Can't Patch

  • Immediately remove zbzcms v1.0 from production and replace with secure alternative
  • Implement strict network segmentation and monitor all traffic to the affected system

🔍 How to Verify

Check if Vulnerable:

Check if /admin/run_ajax.php exists and is accessible without authentication. Test with curl: curl -X POST http://target/admin/run_ajax.php -d 'action=add_admin&username=test&password=test'

Check Version:

Check CMS version in admin panel or look for version markers in source files

Verify Fix Applied:

Verify the endpoint returns access denied or 403 error when accessed without proper admin authentication

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /admin/run_ajax.php from unauthenticated IPs
  • Successful admin account creation logs from unusual IPs
  • Multiple failed authentication attempts followed by successful admin actions

Network Indicators:

  • Unusual POST requests to admin endpoints from external IPs
  • Traffic patterns showing admin panel access from new IP addresses

SIEM Query:

source="web_logs" AND uri="/admin/run_ajax.php" AND (status=200 OR status=302) AND NOT user_agent="internal_monitor"

🔗 References

📤 Share & Export