CVE-2021-32735

7.1 HIGH

📋 TL;DR

This vulnerability allows cross-site scripting (XSS) attacks in Kirby CMS Panel's ListItem component. Authenticated Panel users can escalate privileges by exploiting admin sessions, while visitors without Panel access can attack through frontend forms. Kirby versions 3.5.5 and 3.5.6 are affected.

💻 Affected Systems

Products:
  • Kirby CMS
Versions: 3.5.5 through 3.5.6
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires Panel access or frontend form submission capability for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious authenticated users achieve privilege escalation to admin level, gaining full control over the CMS and potentially the underlying server.

🟠

Likely Case

Authenticated users with Panel access execute XSS attacks to steal admin sessions or perform unauthorized actions.

🟢

If Mitigated

With proper input validation and sanitization, only authenticated Panel users could attempt exploitation with limited success.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated Panel access or ability to submit data through vulnerable frontend forms.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.5.7

Vendor Advisory: https://github.com/getkirby/kirby/security/advisories/GHSA-2f2w-349x-vrqm

Restart Required: No

Instructions:

1. Backup your Kirby installation. 2. Update Kirby to version 3.5.7 or later via composer (composer update getkirby/cms) or manual download. 3. Verify the update completed successfully.

🔧 Temporary Workarounds

Input Validation/Sanitization

all

Validate and sanitize all user input from frontend forms to prevent XSS payloads from reaching the Panel.

🧯 If You Can't Patch

  • Implement strict input validation and sanitization on all frontend forms that accept user data.
  • Restrict Panel access to trusted users only and monitor for suspicious activity.

🔍 How to Verify

Check if Vulnerable:

Check Kirby version in composer.json or panel settings. If version is 3.5.5 or 3.5.6, system is vulnerable.

Check Version:

Check composer.json for "getkirby/cms" version or view Panel settings.

Verify Fix Applied:

Confirm Kirby version is 3.5.7 or later. Test that HTML in page titles is properly escaped in the Panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual Panel login patterns
  • Multiple failed login attempts followed by successful admin access
  • Suspicious form submissions containing HTML/script tags

Network Indicators:

  • Unexpected JavaScript execution in Panel responses
  • Suspicious POST requests to form endpoints with script payloads

SIEM Query:

Search for: (event_source="kirby_panel" AND (user_agent contains "script" OR request_body contains "<script>")) OR (event_source="web_form" AND (input contains "onerror=" OR input contains "javascript:"))

🔗 References

📤 Share & Export