CVE-2026-92745: Cockpit-machines: cockpit-machines: information disclosure of rhsm offline token via process arguments

Published May 11, 2026
·
Updated

A flaw was found in cockpit-machines. This vulnerability allows a local attacker with the ability to inspect process metadata to disclose a sensitive Red Hat Subscription Management (RHSM) offline token. The token is exposed when it is passed as a command-line argument to a helper script during the token validation process. Successful exploitation could lead to the compromise of confidentiality, as the exposed token can be used to request access tokens.

Other sources

AIONLYREPORT package: cockpit-machines-348-1.el10 ------ Summary: RHSM Offline Token Exposure via Process Arguments in getAccessToken() (CWE-214): the package passes the RHSM offline token to a helper via argv, allowing local disclosure through process metadata while token validation is running. Requirements to exploit: An attacker needs local access to the host running Cockpit Machines, the ability to inspect another user's process metadata while the RHSM token-validation flow is active, and a deployment without /proc visibility restrictions that would otherwise block command-line inspection. Component affected: cockpit-machines; src/libvirtApi/rhel-images.ts getAccessToken(); src/scripts/rhsm/getaccesstoken.py Version affected: cockpit-machines-348-1.el10 Patch available: no released package fix established; proposed patch included below Version fixed: unknown Upstream coordination: Not notified. CVSS: CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:N/A:N - 4.7 (MEDIUM) AV:L - Exploitation requires local access to the host where Cockpit Machines is running. AC:L - On systems without restrictive /proc settings, observing helper command lines is straightforward once the process starts. PR:L - A low-privileged local account is sufficient to inspect process metadata in affected configurations. UI:R - A user must trigger the RHSM offline-token validation flow so the helper process is spawned with the secret in argv. S:U - The impact stays within the same security scope. C:H - The exposed value is a sensitive RHSM offline token that can be used to request access tokens. I:N - This issue does not directly alter data or system state. A:N - This issue does not directly reduce service availability. Impact: Moderate. This issue can expose a high-value credential and therefore compromise confidentiality, but exploitation is local, timing-sensitive, and dependent on process-visibility configuration. Under Red Hat's severity guidance, that fits a confidentiality compromise that is real but less easily exploited than an Important issue. Embargo: no Reason: This is a local information disclosure issue with configuration-dependent exploitability and a straightforward remediation path. It does not present the kind of remotely exploitable or rapidly weaponizable condition that typically warrants embargo. Acknowledgement: Aisle Research Vulnerability Details: The RHSM offline token is serialized into JSON and passed to a Python helper as a command-line argument. The helper then reads the secret from sys.argv[1] and uses it as the refreshtoken parameter when requesting an access token: ts export function getAccessToken(offlineToken: string): cockpit.Spawn<string> { logDebug(Get access token); const arg = JSON.stringify({ offlineToken }); return python.spawn(getAccessTokenScript, [arg], { err: "message", environ: ['LCALL=C.UTF-8'] }); } py args = json.loads(sys.argv[1], strict=False) data = { "granttype": "refreshtoken", "clientid": "rhsm-api", "refreshtoken": args["offlineToken"] } Because the secret is present in argv, it can be exposed through process metadata such as ps, pgrep -af, or /proc/<pid>/cmdline while the helper is running. Reachability from the UI is direct through the Create VM RHEL download/token-validation flow. This is a local disclosure issue rather than a remote compromise; its practical exploitability depends on whether another local user can inspect that process metadata on the host. Steps to reproduce: 1. Start Cockpit Machines and open the Create VM flow. 2. Select Download an OS and choose a RHEL entry that requires an RHSM offline token. 3. Paste a valid or invalid offline token so the validation flow calls getAccessToken(). 4. From a second local shell on the same host, monitor the helper command line: bash while true; do pgrep -af getaccesstoken.py; sleep 0.1; done 5. Observe that the helper process command line contains JSON with the offlineToken value. If the host enforces restrictive /proc visibility settings such as hidepid, cross-user observation may be blocked. That limits exploitability, but it does not change the underlying secret-on-argv behavior. Mitigation: Until a fixed build is available, avoid validating RHSM offline tokens through this flow on shared systems where untrusted local users can inspect process metadata. Restrict /proc visibility so unprivileged users cannot view other users' command lines. Proposed Fix: Do not pass the offline token in argv. Spawn the helper without secret-bearing arguments and send the JSON payload over stdin instead. diff diff --git a/src/libvirtApi/rhel-images.ts b/src/libvirtApi/rhel-images.ts @@ export function getAccessToken(offlineToken: string): cockpit.Spawn<string> { logDebug(Get access token); const arg = JSON.stringify({ offlineToken });

return python.spawn(getAccessTokenScript, [arg], { err: "message", environ: ['LCALL=C.UTF-8'] }); + const proc = python.spawn(getAccessTokenScript, [], { err: "message", environ: ['LCALL=C.UTF-8'] }); + proc.input(JSON.stringify({ offlineToken })); + return proc; } diff --git a/src/scripts/rhsm/getaccesstoken.py b/src/scripts/rhsm/getaccesstoken.py @@ -args = json.loads(sys.argv[1], strict=False) +args = json.loads(sys.stdin.read(), strict=False)

------ This report was generated using AI technology. Always review AI-generated content prior to use

— Red Hat

Affected Software

1 affected component
Red Hat cockpit-machines=cockpit-machines-348-1.el10

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade cockpit-machines to a version that resolves this vulnerability.

    Fixed in unknown
  2. Configuration

    Restrict /proc visibility (e.g., configure hidepid) to block unprivileged cross-user observation of command-line arguments used by cockpit-machines helpers.

    Host /proc visibility settings hidepid / /proc visibility restrictions = Enable restrictive /proc settings (e.g., hidepid) so unprivileged users cannot inspect other users’ command lines via /proc/<pid>/cmdline
  3. Compensating control

    Mitigation until a fixed build is available: avoid validating RHSM offline tokens through the Cockpit Machines RHSM token-validation flow (e.g., in Create VM → Download an OS, do not trigger the RHSM entry that requires RHSM offline-token validation).

Event History

May 11, 2026
Data Sourced
via Red Hat·10:22 PM
DescriptionSeverityAffected Software
Sep 18, 2026
CVE Published
via MITRE·05:53 PM
Data Sourced
via MITRE·05:53 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:18 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Who is realistically exposed to this issue?

Hosts running Cockpit Machines are exposed when an untrusted local user can inspect process metadata belonging to the user or service performing RHSM token validation. Deployments with unrestricted /proc process visibility are specifically at risk.

2

What must an attacker do to obtain the token?

The attacker needs local host access and permission to inspect another user's process metadata while the RHSM token-validation flow is running. The token is exposed only during validation because it is passed to a helper script as a command-line argument.

3

What is the impact if the token is disclosed?

The disclosed RHSM offline token can be used to request access tokens. The reported impact is loss of confidentiality; integrity and availability impacts are not identified.

4

What can reduce exposure if patching cannot happen immediately?

Restrict visibility of other users' process metadata, particularly command-line arguments exposed through /proc. This mitigates the stated prerequisite that an attacker be able to inspect process arguments during token validation.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203