CVE-2021-24226
📋 TL;DR
This vulnerability allows unauthenticated attackers to view sensitive server environment variables on any public WordPress page containing the [accessally_order_form] shortcode. It affects all WordPress sites using the AccessAlly plugin before version 3.5.7, exposing data like database credentials, API keys, and server paths.
💻 Affected Systems
- AccessAlly WordPress plugin
📦 What is this software?
Accessally by Accessally
⚠️ Risk & Real-World Impact
Worst Case
Attackers obtain database credentials, API keys, or other secrets, leading to full site compromise, data theft, or server takeover.
Likely Case
Information disclosure of sensitive environment variables, potentially enabling further attacks like credential reuse or targeted exploitation.
If Mitigated
Limited impact if environment variables contain no sensitive data or are properly sanitized, but still exposes server details.
🎯 Exploit Status
Exploitation is trivial: attackers can view the serialized $_SERVER data by accessing a vulnerable page; no authentication or advanced skills required.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.5.7
Vendor Advisory: https://wpscan.com/vulnerability/8e3e89fd-e380-4108-be23-00e87fbaad16
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Go to Plugins > Installed Plugins. 3. Find AccessAlly plugin and update to version 3.5.7 or later. 4. Verify update completes successfully.
🔧 Temporary Workarounds
Remove or Disable Shortcode
allTemporarily remove the [accessally_order_form] shortcode from all public pages to prevent data leakage.
Edit WordPress pages/posts to delete or comment out [accessally_order_form] shortcode instances.
Deactivate Plugin
allDeactivate the AccessAlly plugin if not essential, to immediately block the vulnerability.
In WordPress admin, go to Plugins > Installed Plugins, find AccessAlly, and click 'Deactivate'.
🧯 If You Can't Patch
- Restrict access to pages with the shortcode using web server rules (e.g., .htaccess for Apache) to limit exposure.
- Monitor server logs for unusual access patterns to vulnerable pages and implement a WAF to block exploitation attempts.
🔍 How to Verify
Check if Vulnerable:
Visit a public page with the [accessally_order_form] shortcode and check if it displays serialized $_SERVER data (look for strings like 'HTTP_' or 'DB_' in the output).
Check Version:
In WordPress admin, go to Plugins > Installed Plugins and check the version listed for AccessAlly, or use WP-CLI: wp plugin list --name=accessally --field=version
Verify Fix Applied:
After updating, revisit the same page and confirm no sensitive environment data is leaked; the output should be normal or error-free.
📡 Detection & Monitoring
Log Indicators:
- Unusual spikes in traffic to pages with the shortcode, or requests with suspicious parameters targeting the vulnerable file.
Network Indicators:
- HTTP requests to pages containing 'accessally_order_form' that return large amounts of serialized data in responses.
SIEM Query:
Example for Splunk: source="/var/log/apache2/access.log" | search "accessally_order_form" | stats count by src_ip