---
id: "CVE-2026-126643"
page: "https://infrastack.ai/live/CVE-2026-126643"
kind: "vulnerability"
aliases: ["CVE-2026-126643"]
title: "AAP Gateway Operator: resource-server secret copied in plaintext into custom resource"
severity: "medium"
cvss: 6.5
epss: null
exploited: false
status: "open"
category: "infrastructure"
products: []
ecosystems: []
tags: ["aap", "ansible-automation-platform", "infrastructure", "kubernetes", "openshift"]
not_affected_if: ["operator-not-installed"]
published_at: "2026-11-12T11:17:11+00:00"
first_seen_at: "2026-11-12T11:38:05+00:00"
updated_at: "2026-11-12T11:40:02+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-126643", "first_seen_at": "2026-11-12T11:38:05+00:00"}]
exploit_sources: []
---

# AAP Gateway Operator: resource-server secret copied in plaintext into custom resource

Link for people: https://infrastack.ai/live/CVE-2026-126643 (this .md is for agents)

The AAP Gateway Operator copies a protected resource-server Secret into the generated AutomationController custom resource as plain text. Anyone who can read that custom resource, without permission to read the Secret, can obtain the value and impersonate the trusted Controller service.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check whether the AutomationController custom resource contains `spec.extra_settings` with `RESOURCE_SERVER.SECRET_KEY` set in plain text
- Review who holds read access to AutomationController resources in the cluster
- Review whether GitOps repositories, manifests or support bundles contain the generated AutomationController resource

## Timeline

- 2026-11-12T11:38:05+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-126643

## From the sources

A cleartext storage flaw was found in the AAP Gateway Operator. When reconciling an AutomationController, the operator reads the protected resource-server Secret (Secret/<aap-name>-resource-server, key controller_resource_server_secret) and copies its plaintext value into the generated AutomationController custom resource under spec.extra_settings (RESOURCE_SERVER.SECRET_KEY). Although the operator uses no_log to keep the value out of its own logs, serializing it into the custom resource exposes it to any principal able to read the AutomationController CR without permission to read the backing Kubernetes Secret, breaking the expected OpenShift RBAC separation between the two resources. The value may also propagate into Kubernetes API/etcd storage, GitOps and Argo diffs and history, rendered manifests, support bundles, and audit data. The resource-server secret is intended for trusted Gateway-to-Controller service authentication, and its disclosure may allow a user to impersonate a trusted Controller service and reach privileged service-index APIs.

---

_Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai_
