Bug 2498039 (CVE-2026-15044)

Summary: CVE-2026-15044 trustyai-service-operator: TrustyAI Service Operator: Unauthenticated access to AI guardrails and orchestrator APIs
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in the TrustyAI Service Operator. When deploying services like gorch or NemoGuardrails, if a specific security setting is not enabled, these services can expose their communication channels without requiring users to prove their identity. This allows any other program within the cluster to access the AI guardrails and orchestrator without proper authorization. An attacker could exploit this to gain unauthorized access to sensitive information and potentially make limited changes to the AI models.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-07-08 12:13:19 UTC
controllers/utils/auth.go:22-25 implements RequiresAuth() as return ok && strings.ToLower(val) == "true". The annotation key security.opendatahub.io/enable-auth has no CRD default or mutating webhook. Out-of-the-box deployments serve plain HTTP with no authn/authz for gorch and NemoGuardrails.

Attack vector:
1. Deploy gorch or NemoGuardrails without setting enable-auth annotation
2. Service exposes plain HTTP endpoints to cluster network
3. Any pod can access AI guardrails/orchestrator API without authentication

RequiresAuth() (auth.go:22-25) returns false when the annotation is absent, with no CRD default or webhook to set it.