CVE-2021-43835

7.2 HIGH

📋 TL;DR

CVE-2021-43835 is a privilege escalation vulnerability in Sulu CMS where authenticated users with any admin UI access can exploit the ProfileController API to grant themselves additional permissions they shouldn't have. This affects Sulu CMS versions 2.0.0-RC1 through 2.2.17, 2.3.7, and pre-2.4.0. The vulnerability allows users to elevate their privileges beyond their assigned roles.

💻 Affected Systems

Products:
  • Sulu CMS
Versions: 2.0.0-RC1 through 2.2.17, 2.3.0 through 2.3.7, and all versions before 2.4.0
Operating Systems: Any OS running PHP
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with admin UI access enabled. Requires authenticated user with any admin UI permissions.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

An authenticated low-privilege user could gain administrative privileges, potentially compromising the entire CMS instance, accessing sensitive data, modifying content, or taking full control of the system.

🟠

Likely Case

Users with limited admin access (like content editors) could elevate to administrator roles, gaining unauthorized access to restricted areas and functions.

🟢

If Mitigated

With proper access controls and monitoring, the impact is limited to unauthorized permission changes that can be detected and rolled back.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access to the admin UI. The vulnerability is in the ProfileController putAction API endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.2.18, 2.3.8, or 2.4.0

Vendor Advisory: https://github.com/sulu/sulu/security/advisories/GHSA-84px-q68r-2fc9

Restart Required: Yes

Instructions:

1. Backup your Sulu installation and database. 2. Update Sulu via Composer: 'composer update sulu/sulu'. 3. Clear cache: 'bin/console cache:clear'. 4. Restart your web server. 5. Verify the update with 'composer show sulu/sulu'.

🔧 Temporary Workarounds

Manual patch application

all

Apply the security patch to ProfileController.php to fix the privilege escalation vulnerability

Apply the patch from: https://github.com/sulu/sulu/commit/30bf8b5a4f83b6f2171a696011757d095edaa28a

🧯 If You Can't Patch

  • Restrict admin UI access to only trusted administrators
  • Implement network segmentation and monitor API calls to ProfileController endpoints

🔍 How to Verify

Check if Vulnerable:

Check your Sulu version with 'composer show sulu/sulu'. If version is between 2.0.0-RC1 and 2.2.17, or 2.3.0-2.3.7, or any version before 2.4.0, you are vulnerable.

Check Version:

composer show sulu/sulu | grep versions

Verify Fix Applied:

After updating, verify version is 2.2.18, 2.3.8, or 2.4.0+ with 'composer show sulu/sulu'.

📡 Detection & Monitoring

Log Indicators:

  • Unusual permission modification requests via ProfileController API
  • Users gaining new permissions without proper authorization workflow

Network Indicators:

  • API calls to /admin/api/profile with permission modification payloads

SIEM Query:

source="web_logs" AND (uri_path="/admin/api/profile" AND http_method="PUT") AND (request_body CONTAINS "permissions" OR request_body CONTAINS "roles")

🔗 References

📤 Share & Export