CVE-2021-39321
📋 TL;DR
This vulnerability allows authenticated WordPress users with minimal privileges to perform PHP object injection attacks via a deserialization flaw in the Sassy Social Share plugin. Attackers can execute arbitrary code, potentially leading to complete site compromise. All WordPress sites running the vulnerable plugin version are affected.
💻 Affected Systems
- Sassy Social Share WordPress Plugin
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Full server compromise allowing remote code execution, data theft, malware installation, and complete site takeover.
Likely Case
Unauthorized administrative access, plugin/theme modification, data exfiltration, and backdoor installation.
If Mitigated
Limited impact if proper authentication controls and input validation are in place, but still significant risk.
🎯 Exploit Status
Exploitation requires authenticated access but minimal technical skill. Public proof-of-concept code exists.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version 3.3.24 or later
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/2600464/sassy-social-share/trunk/admin/class-sassy-social-share-admin.php
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Sassy Social Share. 4. Click 'Update Now' if available. 5. Alternatively, download version 3.3.24+ from WordPress repository and replace plugin files.
🔧 Temporary Workarounds
Disable vulnerable AJAX endpoint
allRemove or restrict access to the vulnerable wp_ajax_heateor_sss_import_config AJAX action
Add to theme's functions.php or custom plugin: remove_action('wp_ajax_heateor_sss_import_config', 'import_config');
Restrict user capabilities
allLimit which user roles can access plugin administration functions
Use WordPress role management plugins or custom code to restrict 'edit_plugins' capability
🧯 If You Can't Patch
- Immediately disable the Sassy Social Share plugin completely
- Implement strict network access controls and monitor for suspicious AJAX requests to wp-admin/admin-ajax.php
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin → Plugins → Sassy Social Share → Version. If version is 3.3.23 or earlier, you are vulnerable.
Check Version:
wp plugin list --name='Sassy Social Share' --field=version (WP-CLI) or check WordPress admin panel
Verify Fix Applied:
After updating, verify version shows 3.3.24 or later. Check that the import_config function in class-sassy-social-share-admin.php includes proper capability checks and input validation.
📡 Detection & Monitoring
Log Indicators:
- POST requests to /wp-admin/admin-ajax.php with action=heateor_sss_import_config
- Unusual PHP object deserialization errors in error logs
- Suspicious plugin configuration imports
Network Indicators:
- Unusual AJAX requests from authenticated users to plugin endpoints
- Traffic patterns suggesting serialized object injection
SIEM Query:
source="wordpress.log" AND "heateor_sss_import_config" AND status=200
🔗 References
- https://plugins.trac.wordpress.org/changeset/2600464/sassy-social-share/trunk/admin/class-sassy-social-share-admin.php
- https://www.wordfence.com/blog/2021/10/vulnerability-patched-in-sassy-social-share-plugin/
- https://www.wordfence.com/vulnerability-advisories/#CVE-2021-39321
- https://plugins.trac.wordpress.org/changeset/2600464/sassy-social-share/trunk/admin/class-sassy-social-share-admin.php
- https://www.wordfence.com/blog/2021/10/vulnerability-patched-in-sassy-social-share-plugin/
- https://www.wordfence.com/vulnerability-advisories/#CVE-2021-39321