fix(cve): UT-2026-0115 - su runs in its own pseudo-terminal by default - #22
Conversation
Reviewer's guide (collapsed on small PRs)Reviewer's GuideConfigures su to allocate a dedicated pseudo-terminal by default for interactive sessions via a Debian patch, mitigating TIOCSTI-based shared-terminal privilege escalation, and wires the patch into the Debian packaging metadata. File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
Hi @wxphaha. Thanks for your PR. I'm waiting for a deepin-community member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
TAG Bot TAG: 2.40.4-3deepin13 |
|
/test all |
Interactively started su (stdin is a tty) now allocates its own pseudo-terminal by default, so the target session does not share the controlling terminal with the caller session. A process in the low-privilege session can no longer use TIOCSTI/TIOCLINUX ioctls to inject commands into the shared terminal input queue that would later be executed by the privileged session (kernel < 6.2 or dev.tty.legacy_tiocsti=1). The pty slave and proxy stdin handling is unchanged (upstream lib/pty-session.c keeps the slave cooked and makes the proxy stdin raw), so line editing and tab completion keep working. Use -T/--no-pty to opt out; runuser keeps its historical behavior. CVE: UT-2026-0115 (medium) - su TIOCSTI shared-terminal local privilege escalation Upstream: util-linux/util-linux#2685 (--pty default direction), util-linux/util-linux@2863ed6 (TIOCSTI security notes) Change-Id: I71b8fe310fe297f753f5cdd1c26f14da5eefd4b0
|
/test all |
Interactively started su (stdin is a tty) now allocates its own pseudo-terminal by default, so the target session does not share the controlling terminal with the caller session. A process in the low-privilege session can no longer use TIOCSTI/TIOCLINUX ioctls to inject commands into the shared terminal input queue that would later be executed by the privileged session (kernel < 6.2 or dev.tty.legacy_tiocsti=1). The pty slave and proxy stdin handling is unchanged (upstream lib/pty-session.c keeps the slave cooked and makes the proxy stdin raw), so line editing and tab completion keep working. Use -T/--no-pty to opt out; runuser keeps its historical behavior.
CVE: UT-2026-0115 (medium) - su TIOCSTI shared-terminal local privilege escalation
Upstream: util-linux/util-linux#2685 (--pty default direction), util-linux/util-linux@2863ed6 (TIOCSTI security notes)
Change-Id: I71b8fe310fe297f753f5cdd1c26f14da5eefd4b0
Summary by Sourcery
Harden interactive su sessions against shared-terminal privilege escalation by enabling private pseudo-terminals by default.
Bug Fixes:
Tests: