CVE-2021-43281

7.2 HIGH

📋 TL;DR

This vulnerability allows authenticated MyBB administrators with 'Can manage settings?' permission to inject and execute arbitrary PHP code through the Admin Control Panel's Settings management module. The flaw enables remote code execution on affected MyBB installations, potentially compromising the entire web server. Only MyBB installations with vulnerable versions and administrators having specific permissions are affected.

💻 Affected Systems

Products:
  • MyBB
Versions: All versions before 1.8.29
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires admin user with 'Can manage settings?' permission. Default installations include this permission for administrators.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise allowing attacker to execute arbitrary code, steal data, install backdoors, pivot to other systems, and maintain persistent access.

🟠

Likely Case

Privileged administrator account compromise leading to website defacement, data theft, or installation of web shells for further attacks.

🟢

If Mitigated

Limited impact if proper access controls restrict admin permissions and regular security monitoring is in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires admin credentials with specific permission. Public proof-of-concept exists in advisory.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.8.29

Vendor Advisory: https://github.com/mybb/mybb/security/advisories/GHSA-8gxx-vmr9-h39p

Restart Required: No

Instructions:

1. Backup your MyBB installation and database. 2. Download MyBB 1.8.29 or later from official site. 3. Replace all files except inc/config.php and uploads directory. 4. Run upgrade script if needed. 5. Verify functionality.

🔧 Temporary Workarounds

Remove settings management permission

all

Temporarily revoke 'Can manage settings?' permission from all admin accounts until patching.

UPDATE mybb_adminoptions SET settings=0 WHERE uid IN (SELECT uid FROM mybb_users WHERE usergroup IN (SELECT gid FROM mybb_usergroups WHERE isadmin=1))

🧯 If You Can't Patch

  • Implement strict access controls: Only grant 'Can manage settings?' permission to absolutely necessary administrators.
  • Enable web application firewall rules to block PHP code injection patterns in admin panel requests.

🔍 How to Verify

Check if Vulnerable:

Check MyBB version in Admin CP dashboard or inc/version.php file. If version is less than 1.8.29, system is vulnerable.

Check Version:

grep -i 'mybb_version' inc/version.php

Verify Fix Applied:

After upgrade, verify version shows 1.8.29 or higher in Admin CP. Test settings management functionality works without allowing PHP type settings.

📡 Detection & Monitoring

Log Indicators:

  • Admin CP log entries showing creation/modification of settings with 'php' type
  • Web server logs showing POST requests to admin/modules/config/settings.php with suspicious parameters

Network Indicators:

  • HTTP POST requests to admin control panel containing PHP code in parameters

SIEM Query:

source="web_logs" AND uri="*/admin/modules/config/settings.php*" AND (param="*php*" OR body="*eval(*" OR body="*system(*")

🔗 References

📤 Share & Export