CVE-2021-34167

8.8 HIGH

📋 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

Products:
  • taoCMS
Versions: 3.0.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: All installations of taoCMS 3.0.2 are vulnerable. The vulnerability exists in the default installation with no special configuration required.

📦 What is this software?

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

🌐 Internet-Facing: HIGH - The admin interface is typically internet-facing, making exploitation trivial from any location.
🏢 Internal Only: MEDIUM - Even internal networks pose risk if attackers can reach the admin interface via phishing or compromised internal systems.

🎯 Exploit Status

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

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

all

Manually 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

linux

Limit 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

🔗 References

📤 Share & Export