CVE-2026-31834

7.2 HIGH

📋 TL;DR

This CVE describes a privilege escalation vulnerability in Umbraco CMS where authenticated backoffice users with user management permissions can assign themselves or others highly privileged roles they shouldn't have access to. The vulnerability affects Umbraco CMS versions 15.3.1 through 16.5.0 and 17.0.0 through 17.2.1. Attackers need existing backoffice access with user management permissions to exploit this.

💻 Affected Systems

Products:
  • Umbraco CMS
Versions: 15.3.1 to 16.5.0, and 17.0.0 to 17.2.1
Operating Systems: Windows, Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects installations with backoffice users who have user management permissions. The vulnerability is present in default configurations where such permissions exist.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

An attacker with basic backoffice access could elevate to administrator privileges, gaining full control over the CMS, potentially leading to data theft, site defacement, or further server compromise.

🟠

Likely Case

Malicious insiders or compromised accounts with user management permissions could elevate privileges to perform unauthorized administrative actions within the CMS.

🟢

If Mitigated

With proper access controls and monitoring, the impact is limited to users who already have user management permissions, reducing the attack surface.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access to the backoffice with user management permissions. The vulnerability is straightforward to exploit once these conditions are met.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 16.5.1 and 17.2.2

Vendor Advisory: https://github.com/umbraco/Umbraco-CMS/security/advisories/GHSA-rhcg-3h8r-v6vp

Restart Required: Yes

Instructions:

1. Backup your Umbraco installation and database. 2. Upgrade to Umbraco CMS version 16.5.1 if using version 16.x, or 17.2.2 if using version 17.x. 3. Restart the application pool or IIS. 4. Verify the upgrade was successful by checking the version in the backoffice.

🔧 Temporary Workarounds

Restrict User Management Permissions

all

Temporarily remove or restrict user management permissions from non-administrative backoffice users until patching can be completed.

🧯 If You Can't Patch

  • Implement strict principle of least privilege for backoffice users, ensuring only absolutely necessary users have user management permissions.
  • Enable detailed logging for user group membership changes and monitor for suspicious privilege escalation attempts.

🔍 How to Verify

Check if Vulnerable:

Check your Umbraco CMS version in the backoffice under Settings > Updates or via the /umbraco/backoffice endpoint. If version is between 15.3.1-16.5.0 or 17.0.0-17.2.1, you are vulnerable.

Check Version:

Check the UmbracoVersion table in the database or view the version in the backoffice Settings > Updates section.

Verify Fix Applied:

After upgrading, verify the version shows as 16.5.1 or 17.2.2 or higher in the backoffice. Test that user management permissions properly restrict privilege assignments.

📡 Detection & Monitoring

Log Indicators:

  • Unusual user group membership changes
  • Multiple privilege escalation attempts from the same user
  • User permissions being modified to higher privilege levels

Network Indicators:

  • HTTP POST requests to user management endpoints from non-admin users

SIEM Query:

source="umbraco_logs" AND (event="UserGroupChanged" OR event="UserPermissionsModified") AND user_role!="admin"

🔗 References

📤 Share & Export