Bug 2524899 (CVE-2026-81658) - CVE-2026-81658 foreman: Cross-tenant disclosure of template revisions via unauthorized audit lookup
Summary: CVE-2026-81658 foreman: Cross-tenant disclosure of template revisions via una...
Keywords:
Status: NEW
Alias: CVE-2026-81658
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Product Security
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-08-27 09:58 UTC by OSIDB Bzimport
Modified: 2026-08-28 06:02 UTC (History)
13 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2026-08-27 09:58:05 UTC
The reported issue is a valid object-level authorization bypass in Foreman's template revision handling.

TemplatesController#revision (app/controllers/templates_controller.rb) loads the requested audit with Audit.find(params[:version]). The corresponding API controllers use Audit.authorized(:view_audit_logs).find(params[:version]). The UI action is a collection endpoint and is not subject to find_resource, so authorization checks only whether the user may invoke the action (for example view_ptables). It does not authorize the specific audit object supplied by the user.

An authenticated, low-privileged user with a template permission such as view_ptables, scoped to one organization or location, can therefore retrieve a historical template revision from another organization or location by supplying its audit identifier. This is possible without view_audit_logs and without access to the template through the normal template API. The same revision action is inherited by partition table, provisioning template, report template, and remote execution job template controllers.

The exposed data is the historical template content, which may include sensitive configuration, credentials, or other secrets depending on customer configuration. This unrestricted lookup has been present since the introduction of STI templates.


Note You need to log in before you can comment on or make changes to this bug.