CVE-2025-12103

5.0 MEDIUM

📋 TL;DR

This vulnerability in Red Hat OpenShift AI Service's TrustyAI component grants excessive permissions to all authenticated users and service accounts. It allows any authenticated entity to list pods, persistent volume claims, and LMEvalJobs across all namespaces in the cluster. This affects all OpenShift AI deployments using the vulnerable TrustyAI component.

💻 Affected Systems

Products:
  • Red Hat OpenShift AI Service
Versions: OpenShift AI 2.9.0 through 2.9.2
Operating Systems: Linux
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects clusters where TrustyAI component is installed and configured.

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

Attackers could map the entire cluster infrastructure, identify sensitive workloads, and potentially use pod information to plan further attacks like privilege escalation or data exfiltration.

🟠

Likely Case

Unauthorized users can enumerate all running pods and resources, exposing sensitive application information and cluster architecture details that should remain confidential.

🟢

If Mitigated

With proper network segmentation and authentication controls, the impact is limited to information disclosure within already-trusted network segments.

🌐 Internet-Facing: MEDIUM
🏢 Internal Only: HIGH

🎯 Exploit Status

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

Exploitation requires authenticated access to the cluster but uses standard Kubernetes API calls.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: OpenShift AI 2.9.3 or later

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

Restart Required: No

Instructions:

1. Update OpenShift AI to version 2.9.3 or later. 2. Apply the updated TrustyAI operator. 3. Verify the excessive role bindings have been removed.

🔧 Temporary Workarounds

Remove excessive role bindings

all

Manually delete the overly permissive role bindings created by TrustyAI

kubectl delete clusterrolebinding trustyai-service-operator-default-lmeval-user-rolebinding

🧯 If You Can't Patch

  • Implement strict network policies to limit access to Kubernetes API server
  • Use admission controllers to prevent creation of overly permissive role bindings

🔍 How to Verify

Check if Vulnerable:

Check if the vulnerable role binding exists: kubectl get clusterrolebinding trustyai-service-operator-default-lmeval-user-rolebinding

Check Version:

oc get csv -n redhat-ods-operator | grep opendatahub-operator

Verify Fix Applied:

Verify the role binding no longer exists and check OpenShift AI version is 2.9.3+

📡 Detection & Monitoring

Log Indicators:

  • Unusual pod listing requests from non-admin users
  • Multiple GET /api/v1/pods requests from single users

Network Indicators:

  • Excessive Kubernetes API calls to list resources from unexpected sources

SIEM Query:

source="kubernetes" AND (verb="list" OR verb="watch") AND resource="pods" AND user!="system:serviceaccount:kube-system:*"

🔗 References

📤 Share & Export