CVE-2021-34167
📋 TL;DR
This CSRF vulnerability in taoCMS 3.0.2 allows attackers to trick authenticated administrators into performing unintended actions, potentially granting attackers escalated privileges. It affects all taoCMS 3.0.2 installations with the admin interface accessible. Attackers can exploit this remotely without needing direct access to the target system.
💻 Affected Systems
- taoCMS
📦 What is this software?
Taocms by Taogogo
⚠️ Risk & Real-World Impact
Worst Case
Complete system compromise where attackers gain administrative access, modify content, upload malicious files, or take over the entire CMS installation.
Likely Case
Attackers create new admin accounts or modify existing user privileges to gain persistent access to the CMS backend.
If Mitigated
No impact if proper CSRF tokens are implemented and same-origin policies are enforced.
🎯 Exploit Status
Exploitation requires the victim admin to be logged in and visit a malicious page. The GitHub issue shows proof-of-concept exploitation details.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.0.3 or later
Vendor Advisory: https://github.com/taogogo/taocms/issues/6
Restart Required: No
Instructions:
1. Backup your current installation. 2. Download taoCMS 3.0.3 or later from the official repository. 3. Replace the vulnerable files, particularly taocms/admin/admin.php. 4. Verify the fix by testing CSRF protection.
🔧 Temporary Workarounds
Implement CSRF Tokens
allManually add CSRF token validation to admin.php and related forms
Edit taocms/admin/admin.php to include CSRF token generation and validation
Restrict Admin Access
linuxLimit access to the admin interface via firewall rules or IP whitelisting
iptables -A INPUT -p tcp --dport 80 -s trusted_ip -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
🧯 If You Can't Patch
- Implement strict same-origin policies and Content Security Policy headers
- Require re-authentication for privilege escalation actions and implement session timeouts
🔍 How to Verify
Check if Vulnerable:
Check if your taoCMS version is 3.0.2 by examining the version file or checking the admin interface footer. Review taocms/admin/admin.php for CSRF token implementation.
Check Version:
grep -r 'version' taocms/ || cat taocms/version.txt
Verify Fix Applied:
Test that admin actions (like creating users) fail without proper CSRF tokens. Verify version is 3.0.3 or higher.
📡 Detection & Monitoring
Log Indicators:
- Multiple admin account creations from unusual IPs
- Privilege escalation attempts without proper referrer headers
- Admin actions with missing or invalid CSRF tokens
Network Indicators:
- HTTP POST requests to taocms/admin/admin.php without proper referrer
- Cross-origin requests to admin endpoints
SIEM Query:
source="web_logs" AND uri="/taocms/admin/admin.php" AND (method="POST" OR method="PUT") AND NOT referrer CONTAINS expected_domain