CVE intelligence and bounded remediation
CVE-2024-22017 — setuid() does not affect libuv's internal io_uring operations if initialized before the call to setuid()
setuid() does not affect libuv's internal io_uring operations if initialized before the call to setuid(). This allows the process to perform privileged operations despite presumably having dropped such privileges through a call to setuid(). This vulnerability affects all users using version greater or equal than Node.js 18.18.0, Node.js 20.4.0 and Node.js 21.
- Severity
- High
- CVSS
- 7.3 (3.0)
- Published
- 2024-03-19
- CISA KEV
- Not currently listed
- Ecosystem
- javascript/npm
- Weaknesses
- CWE-250
Affected products
No browser-safe affected-product rows are available.
Matched remediation archetype
Privilege escalation and unsafe privilege management
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Map service accounts, operating-system identities, roles, capabilities, impersonation, set-user transitions, and administrative helper paths.
- Determine whether untrusted users or lower-privilege processes can reach the affected transition or modify inputs it trusts.
- Review file, socket, registry, device, job, container, and cloud-role permissions used before and after privilege changes.
Remediate safely
- Apply the supported fix and redesign privileged operations as a minimal, authenticated, allowlisted interface.
- Drop privileges before processing untrusted input, verify the drop succeeds, and remove unnecessary roles, capabilities, and write permissions.
- Validate ownership and permissions at time of use and add explicit lower-to-higher privilege boundary tests.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.