# CVE-2026-91203: Cockpit-files: cockpit-files: arbitrary file ownership and permission modification via symlink race condition

Status: published. Published: 2026-09-18. Updated: 2026-11-06.

A flaw was found in cockpit-files. This vulnerability allows a local attacker to exploit a timing issue, known as a symlink race condition, during privileged file operations such as changing file ownership or permissions. By manipulating directory entries and winning this race, the attacker can redirect these operations to unintended files. This could lead to unauthorized changes in file ownership and permissions on arbitrary files, potentially compromising system integrity and availability by altering system or application states or rendering services unusable.

## Remediation

- workaround: Until a fixed package is available, avoid performing privileged ownership or permission changes through the Cockpit Files application in directories that are writable by untrusted or low-privileged users. Where possible, restrict or disable superuser-backed file operations (the elevated chown/chmod flows used for file creation, upload, ownership, and permission changes) for shared writable paths, and perform file metadata changes only on trusted directories. Exploitability is substantially reduced when privileged Cockpit sessions do not operate on attacker-writable directories. (source: CNA: redhat)

## Affected products and versions

- Red Hat / Red Hat Enterprise Linux 10 (cockpit-files): ≥ 0:36.1-1.el10_2; < * (unaffected, rpm). Source: CNA: redhat
- Red Hat / Red Hat Enterprise Linux 9 (cockpit-files): Version range not reported. Source: CNA: redhat

## Severity and prioritization

- CVSS 3.1: 6 (medium); CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:H; source: CNA: redhat

- CISA KEV: No listing in collected sources

- EPSS: 0.11% as of 2026-11-05; percentile 1.35%

- SSVC: exploitation poc; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: CWE-363

## Exploit evidence

- exploit: https://bugzilla.redhat.com/show_bug.cgi?id=2465632 (ADP: CISA-ADP)

## References

- https://access.redhat.com/errata/RHSA-2026:95570 (CNA: redhat; vendor-advisory, x_refsource_REDHAT)

- https://access.redhat.com/security/cve/CVE-2026-91203 (CNA: redhat; vdb-entry, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2465632 (CNA: redhat; issue-tracking, x_refsource_REDHAT)

- https://bugzilla.redhat.com/show_bug.cgi?id=2465632 (ADP: CISA-ADP; exploit)

## Provenance

- CNA: redhat: https://www.cve.org/CVERecord?id=CVE-2026-91203; retrieved 2026-11-06; source updated 2026-11-06

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-91203; retrieved 2026-11-06; source updated Not reported

Revision: 3ddf8b961906822847c87d6d9e280f5ba9e91ac9a17a169e6295d0be12966416

Canonical: https://y2.dev/cve/CVE-2026-91203

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.