CVE-2022-22690

8.6 HIGH

📋 TL;DR

CVE-2022-22690 allows attackers to overwrite the UmbracoApplicationUrl configuration in Umbraco CMS, enabling them to redirect password reset and user invitation links to malicious servers. This can lead to account takeover through token interception. Affects Umbraco CMS administrators and users of sites running vulnerable versions.

💻 Affected Systems

Products:
  • Umbraco CMS
Versions: All versions less than 9.2.0
Operating Systems: All platforms running Umbraco
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerable when ApplicationUrl is not explicitly configured in Umbraco settings.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete account takeover of all user accounts, including administrators, leading to full site compromise and potential data exfiltration.

🟠

Likely Case

Targeted account takeover of specific users through malicious password reset links, potentially leading to privilege escalation.

🟢

If Mitigated

No impact if ApplicationUrl is properly configured or the system is patched.

🌐 Internet-Facing: HIGH - Publicly accessible Umbraco sites are directly vulnerable to unauthenticated attacks.
🏢 Internal Only: MEDIUM - Internal sites are still vulnerable but attack surface is reduced.

🎯 Exploit Status

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

Exploitation requires no authentication and is straightforward once the vulnerability is understood.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 9.2.0 and later

Vendor Advisory: https://umbraco.com/blog/security-advisory-20th-of-january-2022-patch-is-now-available/

Restart Required: Yes

Instructions:

1. Backup your Umbraco site and database. 2. Update Umbraco CMS to version 9.2.0 or later via NuGet package manager. 3. Restart the application pool or web server. 4. Verify the update by checking the Umbraco version in the backoffice.

🔧 Temporary Workarounds

Configure ApplicationUrl Manually

all

Explicitly set the ApplicationUrl in Umbraco configuration to prevent attacker manipulation.

In appSettings.json or web.config, add: "Umbraco": { "CMS": { "Global": { "UmbracoApplicationUrl": "https://your-domain.com" } } }

🧯 If You Can't Patch

  • Explicitly configure the UmbracoApplicationUrl setting in your configuration files.
  • Implement network-level controls to restrict access to Umbraco backoffice from untrusted networks.

🔍 How to Verify

Check if Vulnerable:

Check if Umbraco version is below 9.2.0 and if ApplicationUrl is not explicitly configured in appSettings.json or web.config.

Check Version:

In Umbraco backoffice: Settings > Updates, or check the Umbraco.Core assembly version.

Verify Fix Applied:

Confirm Umbraco version is 9.2.0 or higher via the backoffice Settings > Updates section, and verify ApplicationUrl is properly configured.

📡 Detection & Monitoring

Log Indicators:

  • Unusual modifications to Umbraco configuration settings
  • Failed login attempts followed by password reset requests
  • Password reset requests from unexpected IP addresses

Network Indicators:

  • Outbound connections to unusual domains from password reset processes
  • HTTP requests with manipulated host headers to Umbraco endpoints

SIEM Query:

source="umbraco" AND (event="ConfigurationChange" OR event="PasswordReset") AND (url CONTAINS "malicious-domain" OR user_agent="attacker-tool")

🔗 References

📤 Share & Export