Skip to content
OpenAdvisories
High · 7.3 Public exploit CVE-2024-22017 EUVD-2024-19623GHSA-vr4q-vx84-9g5x

setuid() does not affect libuv's internal io_uring operations if initialized before the call to setuid(). This allows the process to perfor…

Published Mar 19, 2024 · Updated Apr 30, 2025 · Assigned by hackerone

Description

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.

Affected products

VendorProductAffectedFixed
NodeJS Node 4.0 – < 4.*, 5.0 – < 5.*, 6.0 – < 6.*, 7.0 – < 7.*, 8.0 – < 8.*, 9.0 – < 9.*, 10.0 – < 10.*, 11.0 – < 11.*, 12.0 – < 12.*, 13.0 – < 13.*, 14.0 – < 14.*, 15.0 – < 15.*, 16.0 – < 16.*, 17.0 – < 17.*, 19.0 – < 19.*, 20.0 – < 20.11.1, 21.0 – < 21.6.2 4.*

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
RHEL 9 nodejs +3 1:20.11.1-1.module+el9.3.0+21385+bac43d5a RHSA-2024:1688
RHEL 9 nodejs-nodemon 3.0.1-1.module+el9.3.0.z+20478+84a9f781 RHSA-2024:1688
RHEL 9 nodejs-packaging +1 2021.06-4.module+el9.3.0+19518+63aad52d RHSA-2024:1688
RHEL 9 npm 1:10.2.4-1.20.11.1.1.module+el9.3.0+21385+bac43d5a RHSA-2024:1688
RHEL 8 nodejs +3 1:20.11.1-1.module+el8.9.0+21380+12032667 RHSA-2024:1687
RHEL 8 nodejs-nodemon 3.0.1-1.module+el8.9.0+20473+c4e3d824 RHSA-2024:1687
RHEL 8 nodejs-packaging +1 2021.06-4.module+el8.9.0+19519+e25b965a RHSA-2024:1687
RHEL 8 npm 1:10.2.4-1.20.11.1.1.module+el8.9.0+21380+12032667 RHSA-2024:1687

AlmaLinux

Errata ↗
ReleasePackageFixed inAdvisory
AlmaLinux 9 nodejs +3 1:20.11.1-1.module_el9.3.0+88+29afeaa2 ALSA-2024:1688
AlmaLinux 9 nodejs-nodemon 3.0.1-1.module_el9.3.0+47+c33bc288 ALSA-2024:1688
AlmaLinux 9 nodejs-packaging +1 2021.06-4.module_el9.3.0+48+1cf146a1 ALSA-2024:1688
AlmaLinux 9 npm 1:10.2.4-1.20.11.1.1.module_el9.3.0+88+29afeaa2 ALSA-2024:1688
AlmaLinux 8 nodejs +3 1:20.11.1-1.module_el8.9.0+3775+d8460d35 ALSA-2024:1687
AlmaLinux 8 nodejs-nodemon 3.0.1-1.module_el8.9.0+3731+490e3ce5 ALSA-2024:1687
AlmaLinux 8 nodejs-packaging +1 2021.06-4.module_el8.9.0+3684+11b9e959 ALSA-2024:1687
AlmaLinux 8 npm 1:10.2.4-1.20.11.1.1.module_el8.9.0+3775+d8460d35 ALSA-2024:1687

Rocky Linux

Errata ↗
ReleasePackageFixed inAdvisory
Rocky Linux 9 nodejs-nodemon 3.0.1-1.module+el9.5.0+31770+0da7192d RLSA-2024:1688
Rocky Linux 9 nodejs-packaging 2021.06-4.module+el9.5.0+31770+0da7192d RLSA-2024:1688
Rocky Linux 8 nodejs 1:20.11.1-1.module+el8.9.0+1776+addd4aec RLSA-2024:1687
Rocky Linux 8 nodejs-nodemon 3.0.1-1.module+el8.8.0+1459+02651ab6 RLSA-2024:1687
Rocky Linux 8 nodejs-packaging 2021.06-4.module+el8.7.0+1072+5b168780 RLSA-2024:1687
ReleasePackageFixed inAdvisory
SLES 15 SP5 nodejs20 20.11.1-150500.11.6.1 SUSE-SU-2024:0643-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed nodejs-electron 29.4.0-1.1 openSUSE-SU-2024:13972-1
openSUSE Tumbleweed nodejs20 20.11.1-1.1 openSUSE-SU-2024:13697-1
openSUSE Tumbleweed nodejs21 21.6.2-1.1 openSUSE-SU-2024:13698-1
openSUSE Leap 15.5 nodejs20 20.11.1-150500.11.6.1 SUSE-SU-2024:0643-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2023 nodejs20 +4 1:20.11.1-1.amzn2023.0.1 ALAS2023-2024-544
Amazon Linux 2023 nodejs20-npm 1:10.2.4-1.20.11.1.1.amzn2023.0.1 ALAS2023-2024-544
Amazon Linux 2023 v8-11.3-devel 3:11.3.244.8-1.20.11.1.1.amzn2023.0.1 ALAS2023-2024-544

Azure Linux

ReleasePackageFixed inAdvisory
Azure Linux 3 libuv 1.48.0-1 —
Azure Linux 3 nodejs 20.14.0-1 —

Oracle Linux

ReleasePackageFixed inAdvisory
Oracle Linux 9 nodejs +3 1:20.11.1-1.module+el9.3.0+90254+3f4d3ee1 ELSA-2024-1688
Oracle Linux 9 nodejs-nodemon 3.0.1-1.module+el9.3.0+90066+12d4a8d7 ELSA-2024-1688
Oracle Linux 9 nodejs-packaging +1 2021.06-4.module+el9.3.0+90066+12d4a8d7 ELSA-2024-1688
Oracle Linux 9 npm 1:10.2.4-1.20.11.1.1.module+el9.3.0+90254+3f4d3ee1 ELSA-2024-1688
Oracle Linux 8 nodejs +3 1:20.11.1-1.module+el8.9.0+90250+089ba5e1 ELSA-2024-1687
Oracle Linux 8 nodejs-nodemon 3.0.1-1.module+el8.9.0+90082+b6a613a6 ELSA-2024-1687
Oracle Linux 8 nodejs-packaging +1 2021.06-4.module+el8.9.0+90082+b6a613a6 ELSA-2024-1687
Oracle Linux 8 npm 1:10.2.4-1.20.11.1.1.module+el8.9.0+90250+089ba5e1 ELSA-2024-1687

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Advisories 17

References