CVE-2026-109131 in Ansible Automation Platforminfo

Summary

by MITRE • 10/15/2026

The Hub collection module documentation renderer in the unified Ansible Automation Platform UI (built from upstream ansible-ui, frontend/hub) renders a documentation URL part (formatPartURL in DocumentationParsers.tsx) as a link without restricting the URL protocol/scheme. A collection whose documentation contains a link using a script-executing URL scheme can therefore cause script to run in the same origin as the Hub UI when another authenticated user views and activates that link in the collection documentation page. This is a stored cross-site scripting issue in shipped Platform UI code (present in the AAP 2.6 and 2.7 release branches).

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/15/2026

The vulnerability identified within the unified Ansible Automation Platform UI constitutes a critical security flaw rooted in improper input validation during the rendering of collection documentation content. Specifically, the Hub collection module utilizes a frontend component built from upstream ansible-ui code, where the function formatPartURL located in DocumentationParsers.tsx is responsible for processing and displaying URL parts found within collection documentation metadata. The core technical deficiency lies in the failure to restrict or validate the protocol scheme associated with these URLs before they are rendered as interactive hyperlinks by the browser engine. By allowing any arbitrary string to be interpreted as a valid link destination without sanitizing against dangerous protocols, the application inadvertently trusts user-supplied data that can manipulate client-side execution contexts.

This architectural oversight directly facilitates stored cross-site scripting attacks within the same origin context of the Hub UI. When an authenticated administrator or user creates or modifies a collection and includes documentation containing a maliciously crafted URL utilizing a script-executing scheme such as javascript:, this payload is persisted in the backend storage associated with that collection. The danger materializes when another authorized user navigates to the specific collection's documentation page within the web interface. Upon viewing the content, the browser parses the unvalidated link and interprets the embedded script instructions for execution rather than treating them as plain text or navigating to a standard HTTP resource. Because this interaction occurs entirely within the trusted domain of the Ansible Automation Platform UI, the executed scripts inherit full access to session cookies, local storage tokens, and other sensitive authentication credentials associated with that user's active session.

The operational impact of this vulnerability is severe due to its stored nature and high-privilege target audience. Unlike reflected XSS which requires immediate social engineering for each victim, a stored variant persists until the malicious content is manually removed from the system. An attacker who gains write access to collection metadata can plant these payloads that will automatically execute against any subsequent viewer of that documentation. This enables comprehensive account takeover scenarios where an adversary can impersonate legitimate users, exfiltrate sensitive automation credentials and inventory data managed by Ansible, or pivot further into internal network infrastructure controlled through the platform. The vulnerability affects multiple release branches including AAP 2.6 and 2.7, indicating a systemic issue in the frontend parsing logic that has persisted across versions without adequate remediation.

From an industry standard perspective, this flaw aligns with CWE-80: Improper Neutralization of Script-Related HTML Tags in a Web Page which describes weaknesses where input is not properly sanitized before inclusion in web pages allowing script execution. Furthermore, the exploitation technique maps directly to MITRE ATT&CK Technique T1059.007: Command and Scripting Interpreter via JavaScript within the Browser context. The attack vector leverages stored persistence mechanisms typical of CWE-79 which focuses on injection flaws leading to arbitrary code execution in client-side environments.

Mitigation strategies must focus on implementing strict allow-list validation for URL schemes at both the frontend rendering layer and backend storage layers. Developers should modify the formatPartURL function to explicitly reject or escape any protocol identifiers that do not match standard safe protocols such as http, https, ftp, or mailto. Additionally, employing Content Security Policy headers can provide a robust defense-in-depth measure by restricting script execution sources and preventing inline scripts from running even if injected into the DOM. Input validation should also be enforced on the server side to ensure that any data persisted in database records associated with collection documentation undergoes rigorous sanitization before being served to clients, thereby neutralizing the threat at its source rather than relying solely on client-side protections which can be bypassed or misconfigured.

Responsible

Redhat

Reservation

10/12/2026

Disclosure

10/15/2026

Moderation

accepted

EPSS

0.00168

KEV

no

Activities

medium

Sources

Want to know what is going to be exploited?

We predict KEV entries!