CVE Vulnerabilities

CVE-2024-22017

Execution with Unnecessary Privileges

Published: Mar 19, 2024 | Modified: Aug 15, 2024
CVSS 3.x
N/A
Source:
NVD
CVSS 2.x
RedHat/V2
RedHat/V3
7.3 IMPORTANT
CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Ubuntu
HIGH

setuid() does not affect libuvs 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.

Weakness

The product performs an operation at a privilege level that is higher than the minimum level required, which creates new weaknesses or amplifies the consequences of other weaknesses.

Affected Software

Name Vendor Start Version End Version
Red Hat Enterprise Linux 8 RedHat nodejs:20-8090020240228165436.a75119d5 *
Red Hat Enterprise Linux 9 RedHat nodejs:20-9030020240229115828.rhel9 *
Nodejs Ubuntu bionic *
Nodejs Ubuntu mantic *
Nodejs Ubuntu trusty *
Nodejs Ubuntu xenial *

Extended Description

New weaknesses can be exposed because running with extra privileges, such as root or Administrator, can disable the normal security checks being performed by the operating system or surrounding environment. Other pre-existing weaknesses can turn into security vulnerabilities if they occur while operating at raised privileges. Privilege management functions can behave in some less-than-obvious ways, and they have different quirks on different platforms. These inconsistencies are particularly pronounced if you are transitioning from one non-root user to another. Signal handlers and spawned processes run at the privilege of the owning process, so if a process is running as root when a signal fires or a sub-process is executed, the signal handler or sub-process will operate with root privileges.

Potential Mitigations

References