CVE-2025-2843

8.8 HIGH

📋 TL;DR

This vulnerability allows Kubernetes users with only namespace-level permissions to create a MonitorStack resource, which triggers the Observability Operator to create a ServiceAccount with ClusterRole. The attacker can then impersonate this ServiceAccount to gain cluster-wide privileges, leading to privilege escalation. This affects Kubernetes clusters running vulnerable versions of the Observability Operator.

💻 Affected Systems

Products:
  • Red Hat OpenShift Observability Operator
Versions: Versions prior to 1.0.0-1
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Affects deployments where the Observability Operator is installed and users have namespace-level RBAC permissions to create MonitorStack resources.

⚠️ 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

Complete cluster compromise - attacker gains full administrative control over the entire Kubernetes cluster, allowing deployment of malicious workloads, data exfiltration, or destruction of resources.

🟠

Likely Case

Privilege escalation from namespace-level tenant to cluster administrator, enabling lateral movement, resource manipulation, and potential data breaches.

🟢

If Mitigated

Limited impact if proper RBAC controls, network policies, and monitoring are in place to detect unusual ServiceAccount creation and impersonation attempts.

🌐 Internet-Facing: MEDIUM - Requires authenticated access to the Kubernetes API, but if exposed, could be exploited by compromised accounts.
🏢 Internal Only: HIGH - Internal attackers with namespace access (like multi-tenant environments) can easily exploit this to gain cluster privileges.

🎯 Exploit Status

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

Exploitation requires authenticated access to Kubernetes API with namespace-level permissions. The attack chain is straightforward once the MonitorStack creation permission is obtained.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.0-1

Vendor Advisory: https://access.redhat.com/errata/RHSA-2025:21146

Restart Required: Yes

Instructions:

1. Update Observability Operator to version 1.0.0-1 or later. 2. For OpenShift: Update via OperatorHub or CLI. 3. Verify the new version is running and the vulnerable ServiceAccount creation behavior is fixed.

🔧 Temporary Workarounds

Restrict MonitorStack Creation

all

Remove or restrict RBAC permissions for users to create MonitorStack resources in vulnerable namespaces.

kubectl delete clusterrolebinding <binding-name>
kubectl delete rolebinding <binding-name>

Monitor ServiceAccount Creation

all

Implement monitoring and alerting for unexpected ServiceAccount creation by the Observability Operator.

🧯 If You Can't Patch

  • Implement strict RBAC controls to limit who can create MonitorStack resources
  • Enable Kubernetes audit logging and monitor for ServiceAccount impersonation attempts

🔍 How to Verify

Check if Vulnerable:

Check Observability Operator version: kubectl get deployment observability-operator -n openshift-observability-operator -o jsonpath='{.spec.template.spec.containers[0].image}'

Check Version:

kubectl get deployment observability-operator -n openshift-observability-operator -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -o ':[0-9.]*'

Verify Fix Applied:

Verify version is 1.0.0-1 or later and test that creating MonitorStack no longer grants cluster-level ServiceAccount permissions.

📡 Detection & Monitoring

Log Indicators:

  • Unexpected ServiceAccount creation by observability-operator
  • ClusterRoleBinding creation for observability-operator ServiceAccounts
  • Impersonation requests for observability-operator ServiceAccounts

Network Indicators:

  • Unusual API calls from namespace-limited accounts attempting cluster-wide operations

SIEM Query:

kubernetes.audit AND verb:impersonate AND impersonatedUser.name:*observability*

🔗 References

📤 Share & Export