CVE-2021-44347
📋 TL;DR
This CVE describes a SQL injection vulnerability in TuziCMS v2.0.6 that allows attackers to execute arbitrary SQL commands through the guestbook controller. The vulnerability affects all TuziCMS v2.0.6 installations with the guestbook feature enabled. Attackers can potentially access, modify, or delete database content.
💻 Affected Systems
- TuziCMS
📦 What is this software?
Tuzicms by Yejiao
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise leading to data theft, data destruction, or full system takeover via subsequent attacks.
Likely Case
Unauthorized database access allowing data exfiltration, privilege escalation, or application compromise.
If Mitigated
Limited impact with proper input validation and parameterized queries preventing SQL injection.
🎯 Exploit Status
SQL injection vulnerabilities are commonly weaponized and public proof-of-concept exists in GitHub issues.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v2.0.7 or later
Vendor Advisory: https://github.com/yeyinshi/tuzicms/issues/7
Restart Required: No
Instructions:
1. Upgrade to TuziCMS v2.0.7 or later. 2. Replace App\Manage\Controller\GuestbookController.class.php with patched version. 3. Clear any cached files or templates.
🔧 Temporary Workarounds
Disable Guestbook Feature
allTemporarily disable guestbook functionality to prevent exploitation.
# Remove or rename GuestbookController.class.php
mv App/Manage/Controller/GuestbookController.class.php App/Manage/Controller/GuestbookController.class.php.disabled
Web Application Firewall Rules
linuxImplement WAF rules to block SQL injection patterns targeting guestbook endpoints.
# Example mod_security rule for Apache
SecRule ARGS "@detectSQLi" "id:1001,phase:2,deny,status:403,msg:'SQL Injection Attempt'"
🧯 If You Can't Patch
- Implement strict input validation and parameterized queries in GuestbookController.class.php
- Restrict network access to guestbook functionality using firewall rules
🔍 How to Verify
Check if Vulnerable:
Check if running TuziCMS v2.0.6 and examine GuestbookController.class.php for lack of parameterized queries.
Check Version:
grep -r 'version' config/ || cat README.md
Verify Fix Applied:
Verify version is v2.0.7+ and GuestbookController.class.php uses prepared statements or parameterized queries.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL queries in application logs
- Multiple failed login attempts via guestbook
- Suspicious parameters in guestbook POST requests
Network Indicators:
- SQL keywords in guestbook POST payloads
- Unusual database connection patterns from web server
SIEM Query:
source="web_logs" AND (url="*guestbook*" AND (payload="*UNION*" OR payload="*SELECT*" OR payload="*INSERT*" OR payload="*DELETE*"))