CVE-2023-30613

8.1 HIGH

📋 TL;DR

Kiwi TCMS versions before 12.2 allow unrestricted file uploads, enabling attackers to upload malicious files like executables or JavaScript-containing files. This could lead to remote code execution or cross-site scripting attacks when users download and open these files. All Kiwi TCMS instances running vulnerable versions are affected.

💻 Affected Systems

Products:
  • Kiwi TCMS
Versions: All versions prior to 12.2
Operating Systems: All platforms running Kiwi TCMS
Default Config Vulnerable: ⚠️ Yes
Notes: All default installations are vulnerable as there were no file type restrictions before version 12.2.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Remote code execution on client systems when users download and execute malicious uploaded files, potentially leading to full system compromise.

🟠

Likely Case

Cross-site scripting attacks via malicious JavaScript files, leading to session hijacking, credential theft, or client-side attacks.

🟢

If Mitigated

No impact if proper file type validation is implemented and users follow safe download practices.

🌐 Internet-Facing: HIGH - Internet-facing instances are directly accessible to attackers who can upload malicious files.
🏢 Internal Only: MEDIUM - Internal instances are still vulnerable to insider threats or compromised internal accounts.

🎯 Exploit Status

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

Exploitation requires authenticated access to upload files, but the attack itself is simple once access is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 12.2

Vendor Advisory: https://github.com/kiwitcms/Kiwi/security/advisories/GHSA-fwcf-753v-fgcj

Restart Required: Yes

Instructions:

1. Backup your Kiwi TCMS database and configuration. 2. Upgrade to version 12.2 or later using your package manager or installation method. 3. Restart the Kiwi TCMS service. 4. Verify the upgrade was successful.

🔧 Temporary Workarounds

Manual file validation

all

Implement custom middleware or validation to block executable files and files containing script tags

Not applicable - requires custom code implementation

🧯 If You Can't Patch

  • Implement web application firewall rules to block uploads of executable files and files containing script tags
  • Disable file upload functionality entirely if not required for operations

🔍 How to Verify

Check if Vulnerable:

Check Kiwi TCMS version - if below 12.2, it's vulnerable. Attempt to upload a file with .exe extension or containing <script> tags - if successful, vulnerable.

Check Version:

Check the Kiwi TCMS web interface admin panel or run: python -c "import tcms; print(tcms.__version__)"

Verify Fix Applied:

After upgrading to 12.2+, attempt to upload .exe files or files containing <script> tags - these should be rejected.

📡 Detection & Monitoring

Log Indicators:

  • File uploads with suspicious extensions (.exe, .js, .vbs)
  • Large number of file upload attempts
  • Failed upload attempts after upgrade to 12.2+

Network Indicators:

  • HTTP POST requests to upload endpoints with suspicious file types
  • Unusual file download patterns from Kiwi TCMS

SIEM Query:

source="kiwi_tcms" AND (event="file_upload" AND (file_extension="exe" OR file_extension="js" OR file_extension="vbs"))

🔗 References

📤 Share & Export