CVE-2026-92894 in Satelliteinfo

Summary

by MITRE • 09/17/2026

A flaw was found in the foreman_ansible plugin's Ansible override values API. The destroy action resolves the target LookupValue record by ID without verifying it belongs to an AnsibleVariable the caller is authorized to edit. An authenticated user with the edit_ansible_variables permission can delete any LookupValue by ID, including override values for Ansible variables outside their permission filter scope and override values belonging to Puppet smart class parameters.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 09/17/2026

The identified vulnerability resides within the foreman_ansible plugin of Foreman, specifically affecting the API endpoint responsible for handling Ansible override values. This security flaw stems from a critical failure in access control logic during the resource destruction phase. When an authenticated user initiates a delete operation on a LookupValue record via its unique identifier, the system retrieves and removes the target object without performing any secondary verification to ensure that this specific value is associated with an AnsibleVariable for which the caller holds explicit edit permissions. This oversight creates a significant authorization bypass where the integrity of role-based access control mechanisms is compromised by relying solely on the presence of a general permission flag rather than validating ownership or scope constraints at the individual resource level.

From a technical perspective, this represents a classic Broken Access Control vulnerability, aligning with CWE-284 which describes improper access control in software systems. The root cause lies in the implementation of the destroy action within the API controller, where the authorization check is either missing or insufficiently granular. While the system correctly verifies that the user possesses the broad edit_ansible_variables permission, it fails to enforce scope-based restrictions that should limit deletion rights only to variables and their associated override values explicitly assigned to the user's authorized domain. This allows an attacker with legitimate but limited credentials to traverse beyond their intended boundaries by directly referencing identifiers of resources they do not own or manage.

The operational impact of this vulnerability is severe, as it enables unauthorized modification of critical configuration data within the infrastructure management platform. An authenticated actor can delete any LookupValue record by ID, including override values for Ansible variables that fall outside their permission filter scope. Furthermore, because these lookup values often store sensitive configuration parameters or secrets used in automation workflows, their deletion can lead to service disruptions, misconfigurations, and potential security breaches if default or less secure fallback values are applied automatically. In environments where Puppet smart class parameters also rely on similar override mechanisms, the attacker could disrupt system-wide configurations managed by Puppet, leading to inconsistent states across managed nodes and potentially exposing sensitive infrastructure details through error messages or altered behavior.

This type of vulnerability is often categorized under MITRE ATT&CK technique T1078, Valid Accounts, as it exploits legitimate credentials to perform unauthorized actions that escalate privileges beyond the user's intended role. It also relates to T1496, Resource Hijacking, in contexts where deleting configuration overrides might force systems into unintended operational modes. The lack of proper object-level authorization checks allows for data integrity violations and potential denial of service conditions by removing essential configuration elements required for automated deployments or system stability.

To mitigate this risk, immediate remediation should focus on implementing strict object-level access control within the foreman_ansible plugin's API handlers. Developers must ensure that every delete operation verifies not only the user's general permission set but also confirms that the specific LookupValue record being deleted is associated with an AnsibleVariable or Puppet smart class parameter for which the current user has explicit edit rights. This involves querying the relationship between the lookup value and its parent variable to validate ownership before proceeding with deletion. Additionally, implementing comprehensive logging of such access control violations can aid in detecting potential exploitation attempts. Long-term solutions should include adopting a principle of least privilege model where permissions are scoped tightly to specific resources rather than broad categories, and conducting regular security audits of API endpoints to ensure consistency between authorization checks and resource ownership rules.

Responsible

Redhat

Reservation

09/17/2026

Disclosure

09/17/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Do you know our Splunk app?

Download it now for free!