Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-41115

CVE-2025-41115: Grafana Privilege Escalation Vulnerability

CVE-2025-41115 is a privilege escalation vulnerability in Grafana Enterprise affecting SCIM provisioning. Attackers can exploit user identity handling flaws to impersonate users. This article covers technical details, affected versions, impact, and mitigation strategies.

Published:

CVE-2025-41115 Overview

CVE-2025-41115 is a critical privilege escalation vulnerability affecting Grafana Enterprise and Grafana Cloud environments where SCIM (System for Cross-domain Identity Management) provisioning is enabled. The vulnerability exists in the user identity handling mechanism of the SCIM provisioning feature, which was introduced in April to improve automated user lifecycle management.

When SCIM provisioning is enabled and configured, a malicious or compromised SCIM client can provision a user with a numeric externalId. This flawed handling allows the attacker to override internal user IDs, potentially leading to user impersonation or privilege escalation within the Grafana environment.

Critical Impact

A compromised SCIM client can override internal Grafana user IDs through numeric externalId manipulation, enabling complete user impersonation and privilege escalation to administrator-level access.

Affected Products

  • Grafana Enterprise versions 12.x with SCIM provisioning enabled
  • Grafana Cloud instances with SCIM provisioning enabled
  • Systems with enableSCIM feature flag set to true and user_sync_enabled config option set to true

Discovery Timeline

  • 2025-11-21 - CVE-2025-41115 published to NVD
  • 2026-01-08 - Last updated in NVD database

Technical Details for CVE-2025-41115

Vulnerability Analysis

This vulnerability is classified under CWE-266 (Incorrect Privilege Assignment). The core issue lies in how Grafana's SCIM implementation handles the externalId attribute during user provisioning operations. The SCIM standard allows identity providers to assign external identifiers to users for synchronization purposes. However, Grafana's implementation fails to properly validate and sanitize numeric externalId values, allowing them to collide with or override internal user ID assignments.

The vulnerability specifically affects the user synchronization workflow when both the enableSCIM feature flag is enabled and the user_sync_enabled configuration option is set to true in the [auth.scim] configuration block. Under these conditions, an attacker with control over a SCIM client can craft malicious provisioning requests that inject numeric external IDs matching existing internal user IDs.

Root Cause

The root cause is improper input validation and privilege assignment in the SCIM user provisioning handler. The system does not adequately distinguish between external identity attributes (externalId) and internal user identifiers, allowing numeric external IDs to be interpreted or processed in a way that affects internal user ID resolution. This design flaw enables an attacker to effectively assume the identity of any existing user by crafting a SCIM provisioning request with a strategically chosen numeric externalId.

Attack Vector

The attack requires network access and the ability to send authenticated SCIM API requests to the Grafana instance. A threat actor who has compromised or controls a SCIM client integrated with Grafana can exploit this vulnerability by:

  1. Identifying target user IDs within the Grafana environment
  2. Crafting a SCIM user provisioning request with a numeric externalId that matches the target internal user ID
  3. Submitting the malicious provisioning request through the SCIM API
  4. Gaining access as the impersonated user, potentially including administrative accounts

The attack is remotely exploitable with no user interaction required. Organizations using SCIM integration with identity providers such as Okta, Azure AD, or OneLogin should assess their exposure to this vulnerability.

Detection Methods for CVE-2025-41115

Indicators of Compromise

  • Unexpected SCIM provisioning requests containing numeric externalId values that match existing internal user IDs
  • Audit log entries showing user attribute changes via SCIM that conflict with established user records
  • Multiple users appearing to share the same session or authentication context
  • Unexplained privilege elevation or access to resources outside a user's normal scope

Detection Strategies

  • Monitor SCIM API endpoints for provisioning requests with numeric externalId patterns, particularly those matching internal ID formats
  • Implement alerting on SCIM operations that result in user attribute collisions or overwrites
  • Review authentication logs for session anomalies where users appear to be logged in from multiple locations or with inconsistent attributes
  • Deploy API traffic analysis to detect unusual patterns in SCIM client communications

Monitoring Recommendations

  • Enable detailed audit logging for all SCIM provisioning operations in Grafana
  • Configure alerts for any SCIM-related authentication or authorization failures
  • Establish baseline metrics for SCIM provisioning activity and alert on deviations
  • Review SCIM client configurations and ensure they are properly secured and monitored

How to Mitigate CVE-2025-41115

Immediate Actions Required

  • Disable SCIM provisioning by setting enableSCIM feature flag to false if not actively required
  • Set user_sync_enabled to false in the [auth.scim] configuration block as a temporary mitigation
  • Audit existing user accounts for signs of identity manipulation or privilege escalation
  • Review and restrict access to SCIM client credentials and configurations
  • Monitor Grafana security advisories for patch availability

Patch Information

Organizations should monitor the Grafana Security Advisory CVE-2025-41115 for official patch releases and detailed remediation guidance. Apply security updates as soon as they become available from Grafana.

Workarounds

  • Disable SCIM user synchronization by setting user_sync_enabled = false in the [auth.scim] configuration section
  • Implement additional network-level access controls to restrict SCIM API endpoint access to trusted identity provider sources only
  • Deploy a Web Application Firewall (WAF) rule to filter SCIM requests containing suspicious numeric externalId values
  • Consider using alternative user provisioning methods such as LDAP or OAuth until a patch is available
bash
# Grafana configuration workaround - disable SCIM user sync
# Edit your grafana.ini or custom.ini configuration file

[auth.scim]
# Disable user synchronization to mitigate CVE-2025-41115
user_sync_enabled = false

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.