Red Hat Satellite
CVE-2026-12515
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Satellite API with edit_products permission
-
DeliveryEnumerate or guess integer repository IDs of out-of-scope products
-
ExploitSubmit content-upload API request referencing target repository ID
-
ExecutionUnscoped Repository.find returns metadata without authorization check
-
ImpactInfer existence of specific content in otherwise-inaccessible repository
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires a valid authenticated Satellite user account with the edit_products permission assigned. The attacker must also know or enumerate the numeric repository IDs of out-of-scope repositories - these are sequential database integers and may be predictable or derivable from legitimate API responses. The vulnerable code path is exercised via the ContentUploadsController API, specifically the destroy action which performs the unscoped repository lookup. Limiting factors: authentication is mandatory with no unauthenticated path; the edit_products permission is not granted to default unprivileged users; the impact is strictly read-only content-existence disclosure with no capability to read content data, modify, import, or publish; and the attacker must already be a provisioned Satellite user with meaningful system access. |
| Impact | The CVSS 4.3 Medium score with vector AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N accurately reflects the bounded nature of this flaw: network-accessible, low complexity, but requiring authenticated access with a specific permission. The impact is strictly limited to read-only content-existence metadata disclosure with no integrity or availability consequence. No EPSS score was provided in the available intelligence data, so exploitation probability cannot be quantified from that signal. The vulnerability is absent from CISA KEV and no public exploit code has been identified, indicating no known active exploitation. Real-world prioritization should be low-to-moderate: an attacker must already hold a valid Satellite account with the edit_products permission - a non-trivial prerequisite that significantly reduces the exploitable population. The information gained (whether specific content exists in an otherwise inaccessible repository) is low-value for most threat actors. Organizations with strict multi-tenant Satellite deployments or sensitive content partitioning should treat this with higher urgency. |
| Exploit ScenarioDerived | An authenticated Satellite operator with edit_products rights scoped only to Product A crafts a direct API request to the content-upload endpoint, substituting the repository ID of an unrelated Product B - an integer ID that may be guessed sequentially or inferred from other API responses. Because the controller performs no permission-scoped lookup, the API returns content metadata confirming whether a specific RPM or file exists in Product B's repository, leaking information about a product the user should have no visibility into. No public exploit code exists; the attack requires only API knowledge and a valid session token. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
Insufficient authorization in the Katello ContentUploadsController within Red Hat Satellite 6 permits authenticated users holding only the edit_products permission to query content metadata for repositories belonging to products they have no rights to manage. The flaw, rooted in a missing ActiveRecord scope on repository lookup, allows cross-product content-existence enumeration via the content-upload API - but explicitly does not permit modification, import, or publication of content. No public exploit exists and the vulnerability is not listed in CISA KEV; risk is bounded by the authentication requirement and the limited read-only impact.
RemediationAI
The upstream code fix is available in Katello GitHub pull request #11712 at https://github.com/Katello/katello/pull/11712, which scopes the repository lookup in ContentUploadsController to repositories the requesting user has edit rights over. A released patched version of Red Hat Satellite 6 has not been independently confirmed from the available input data - the fix exists at the upstream PR level only; monitor https://access.redhat.com/security/cve/CVE-2026-12515 for an official Red Hat errata package before applying. As a compensating control pending the patch, restrict the edit_products permission to fully-trusted administrators only, reducing the pool of accounts capable of abusing this endpoint; note this may limit delegation workflows. A secondary control is to restrict API access to Satellite's content-upload endpoints at the network perimeter to management networks only, accepting the trade-off of reduced automation flexibility for external systems.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in rubygems
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The vulnerability resides in Katello's Ruby on Rails API controller at app/controllers/katello/api/v2/content_uploads_controller.rb. The root cause (CWE-862, Missing Authorization) is a single-line oversight in the destroy action: the repository lookup was performed with Repository.find(params[:repository_id]), a global ActiveRecord query that applies no tenancy or permission scope. The fix in upstream PR #11712 replaces this with Repository.editable.find(params[:repository_id]), which constrains the lookup to repositories the authenticated caller actually has edit rights over. The affected surface is Katello's content-upload REST endpoint used during content ingestion workflows for RPMs, files, and other repository content. CPE data confirms the affected products are Red Hat Satellite 6 (cpe:2.3:a:red_hat:red_hat_satellite_6:*:*:*:*:*:*:*:*) and Red Hat Hardened Images (cpe:2.3:a:red_hat:red_hat_hardened_images:*:*:*:*:*:*:*:*).
Know when Red Hat Satellite 6 gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N
PR:L required as a Satellite account with edit_products is mandatory; C:L only since solely content-existence metadata is disclosed, not content data.
Primary rating from Vendor (redhat).
CVSS VectorVendor: redhat
DescriptionCVE.org
A flaw was found in Katello's of Red Hat Satellite. A content upload functionality where insufficient authorization checks in the ContentUploadsController allowed users with the edit_products permission to query content information for repositories outside the products they were authorized to manage. An authenticated attacker could exploit this issue to determine whether specific content exists within repositories that should otherwise be inaccessible. This issue does not allow unauthorized modification, import, or publication of content.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Affected Products (CPE)CVE.org
More in Red Hat Satellite 6
View allThe system CA trust store shipped in Red Hat's ca-certificates RPM packages includes eMudhra root authorities that signe
Arbitrary file write in pulpcore's FilesystemExport feature allows an authenticated administrator to escape the intended
Command injection in the Red Hat Satellite job invocation API (/api/v2/job_invocations), shipped via the rubygem-foreman
Symlink-following file overwrite on the Ansible control node is possible in ansible-core when a user runs `ansible-galax
Privilege escalation in Foreman (the engine behind Red Hat Satellite 6) lets an authenticated user holding usergroup-man
Command injection in Foreman's WebSocket proxy, as shipped in Red Hat Satellite 6, allows a malicious compute-resource p
OS command injection in Foreman's foreman-rake db:dump and db:import_dump tasks lets an attacker who already holds permi
Command injection in the Foreman foreman-rake errors:fetch_log task shipped with Red Hat Satellite 6 allows a local user
Path traversal in the pulpcore content upload API allows an authenticated user holding only low-privilege file-repositor
Candlepin, the entitlement and subscription management engine behind Red Hat Satellite 6, contains an authorization-logi
Jolokia's JSR-160 proxy in multiple Red Hat middleware products allows network-accessible unauthenticated attackers (per
OS command injection in the Foreman foreman-tail helper utility shipped with Red Hat Satellite 6.19 for RHEL 9 allows a
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB