CVE-2021-24226

7.5 HIGH

📋 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

Products:
  • AccessAlly WordPress plugin
Versions: All versions before 3.5.7
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability is active on any public page with the [accessally_order_form] shortcode; no special configuration needed.

📦 What is this software?

⚠️ 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.

🌐 Internet-Facing: HIGH, as the vulnerability is on public pages with no authentication required, making it easily accessible to anyone.
🏢 Internal Only: LOW, as the vulnerability is specific to public-facing WordPress pages; internal systems without the plugin or shortcode are unaffected.

🎯 Exploit Status

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

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

all

Temporarily 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

all

Deactivate 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

🔗 References

📤 Share & Export