CVE-2024-48990
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute...
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
Attack profile
How easy it is to exploit
- Attack vector
- Local
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
CVE-2024-48990- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-427
- Updated
- 2026-11-02
EUVDEUVD-2024-43193
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
EUVD-2024-43193- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-7c65-3hqv-hvmm
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute...
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
GHSA-7c65-3hqv-hvmm- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-427
- Updated
- 2026-11-02
NVD
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
CVE-2024-48990- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-427
- Updated
- 2026-11-02
OSV
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
CVE-2024-48990- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVDEBIAN-CVE-2024-48990
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
DEBIAN-CVE-2024-48990- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVUBUNTU-CVE-2024-48990
7.8
Qualys discovered that needrestart, before version 3.8, allows local attackers to execute arbitrary code as root by tricking needrestart into running the Python interpreter with an attacker-controlled PYTHONPATH environment variable.
- Record
UBUNTU-CVE-2024-48990- CVSS 3.1
- 7.8 High
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVCLSA-2024-1734028058 No score
Fix CVE(s): CVE-2024-11003, CVE-2024-48990, CVE-2024-48991, CVE-2024-48992
- SECURITY UPDATE: Prevent running the Python interpreter with an
attacker-controlled PYTHONPATH environment variable
- debian/patches/CVE-2024-48990-CVE-2024-48991.patch: do not set PYTHONPATH environment variable to prevent a LPE and prevent race condition on /proc/$PID/exec evaluation
- CVE-2024-48990
- CVE-2024-48991
- SECURITY UPDATE: Prevent running the Ruby interpreter with an
attacker-controlled RUBYLIB environment variable
- debian/patches/CVE-2024-48992.patch: do not set RUBYLIB environment variable to prevent a LPE
- CVE-2024-48992
- SECURITY UPDATE: Prevent running the Ruby interpreter with an
attacker-controlled RUBYLIB environment variable
- debian/patches/CVE-2024-11003.patch, debian/control: drop usage of Module::ScanDeps to prevent LPE
- CVE-2024-11003
- Record
CLSA-2024-1734028058- Updated
- 2026-11-02
OSVCLSA-2026-1778933429 No score
Fix CVE(s): CVE-2024-11003, CVE-2024-48990, CVE-2024-48991, CVE-2024-48992
- SECURITY UPDATE: drop usage of Module::ScanDeps to prevent LPE
- debian/patches/CVE-2024-11003.patch: drop usage of Module::ScanDeps to prevent LPE
- CVE-2024-11003
- SECURITY UPDATE: do not set PYTHONPATH environment variable to prevent a LPE
- debian/patches/CVE-2024-48990.patch: do not set PYTHONPATH environment variable to prevent a LPE
- CVE-2024-48990
- SECURITY UPDATE: prevent race condition on /proc/$PID/exec evaluation and fix chroot/mountns regression
- debian/patches/CVE-2024-48991.patch: prevent race condition on /proc/$PID/exec evaluation and fix chroot/mountns regression
- CVE-2024-48991
- SECURITY UPDATE: do not set RUBYLIB environment variable to prevent a LPE
- debian/patches/CVE-2024-48992.patch: do not set RUBYLIB environment variable to prevent a LPE
- CVE-2024-48992
- Record
CLSA-2026-1778933429- Updated
- 2026-11-02
OSVUSN-7117-1 No score
Several security issues were fixed in needrestart and Module::ScanDeps
Qualys discovered that needrestart passed unsanitized data to a library (libmodule-scandeps-perl) which expects safe input. A local attacker could possibly use this issue to execute arbitrary code as root. (CVE-2024-11003)
Qualys discovered that the library libmodule-scandeps-perl incorrectly parsed perl code. This could allow a local attacker to execute arbitrary shell commands. (CVE-2024-10224)
Qualys discovered that needrestart incorrectly used the PYTHONPATH environment variable to spawn a new Python interpreter. A local attacker could possibly use this issue to execute arbitrary code as root. (CVE-2024-48990)
Qualys discovered that needrestart incorrectly checked the path to the Python interpreter. A local attacker could possibly use this issue to win a race condition and execute arbitrary code as root. (CVE-2024-48991)
Qualys discovered that needrestart incorrectly used the RUBYLIB environment variable to spawn a new Ruby interpreter. A local attacker could possibly use this issue to execute arbitrary code as root. (CVE-2024-48992)
- Record
USN-7117-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
needrestartTuxCare:Ubuntu:16.04 From an advisory covering 4 CVEs |
before 2.6-1+tuxcare.els1 | 2.6-1+tuxcare.els1 |
needrestartTuxCare:Ubuntu:20.04 From an advisory covering 4 CVEs |
before 3.4-6ubuntu0.1+tuxcare.els1 | 3.4-6ubuntu0.1+tuxcare.els1 |
needrestartDebian:12 |
before 3.6-4+deb12u2, plus listed versions 3.6-43.6-4+deb12u1 |
3.6-4+deb12u2 |
needrestartDebian:13 |
before 3.7-3.1 | 3.7-3.1 |
needrestartDebian:14 |
before 3.7-3.1 | 3.7-3.1 |
needrestartDebian:11 From an advisory covering 4 CVEs |
before 3.5-4+deb11u4, plus listed versions 3.5-43.5-4+deb11u13.5-4+deb11u23.5-4+deb11u3 |
3.5-4+deb11u4 |
needrestartDebian:12 From an advisory covering 4 CVEs |
before 3.6-4+deb12u2, plus listed versions 3.6-43.6-4+deb12u1 |
3.6-4+deb12u2 |
needrestartUbuntu:Pro:16.04:LTS |
before 2.6-1ubuntu0.1~esm1, plus listed versions 2.1-12.3-22.4-12.5-12.6-1 |
2.6-1ubuntu0.1~esm1 |
needrestartUbuntu:Pro:18.04:LTS |
before 3.1-1ubuntu0.1+esm1, plus listed versions 2.11-43.0-13.1-13.1-1ubuntu0.1 |
3.1-1ubuntu0.1+esm1 |
needrestartUbuntu:Pro:20.04:LTS |
before 3.4-6ubuntu0.1+esm1, plus listed versions 3.4-53.4-63.4-6ubuntu0.1 |
3.4-6ubuntu0.1+esm1 |
Show 12 moreShow less
| Package | Affected | Fixed |
|---|---|---|
needrestartUbuntu:22.04:LTS |
before 3.5-5ubuntu2.2, plus listed versions 3.5-4ubuntu23.5-5ubuntu13.5-5ubuntu23.5-5ubuntu2.1 |
3.5-5ubuntu2.2 |
needrestartUbuntu:24.04:LTS |
before 3.6-7ubuntu4.3, plus listed versions 3.6-53.6-63.6-73.6-7ubuntu33.6-7ubuntu43.6-7ubuntu4.1 |
3.6-7ubuntu4.3 |
libmodule-scandeps-perlUbuntu:Pro:16.04:LTS From an advisory covering 5 CVEs |
before 1.20-1ubuntu0.1~esm1, plus listed versions 1.19-11.20-1 |
1.20-1ubuntu0.1~esm1 |
needrestartUbuntu:Pro:16.04:LTS From an advisory covering 5 CVEs |
before 2.6-1ubuntu0.1~esm1, plus listed versions 2.1-12.3-22.4-12.5-12.6-1 |
2.6-1ubuntu0.1~esm1 |
libmodule-scandeps-perlUbuntu:Pro:18.04:LTS From an advisory covering 5 CVEs |
before 1.24-1ubuntu0.1~esm1, plus listed versions 1.23-11.24-1 |
1.24-1ubuntu0.1~esm1 |
needrestartUbuntu:Pro:18.04:LTS From an advisory covering 5 CVEs |
before 3.1-1ubuntu0.1+esm1, plus listed versions 2.11-43.0-13.1-13.1-1ubuntu0.1 |
3.1-1ubuntu0.1+esm1 |
libmodule-scandeps-perlUbuntu:Pro:20.04:LTS From an advisory covering 5 CVEs |
before 1.27-1ubuntu0.1~esm1, plus listed versions 1.27-1 |
1.27-1ubuntu0.1~esm1 |
needrestartUbuntu:Pro:20.04:LTS From an advisory covering 5 CVEs |
before 3.4-6ubuntu0.1+esm1, plus listed versions 3.4-53.4-63.4-6ubuntu0.1 |
3.4-6ubuntu0.1+esm1 |
libmodule-scandeps-perlUbuntu:22.04:LTS From an advisory covering 5 CVEs |
before 1.31-1ubuntu0.1, plus listed versions 1.30-11.31-1 |
1.31-1ubuntu0.1 |
needrestartUbuntu:22.04:LTS From an advisory covering 5 CVEs |
before 3.5-5ubuntu2.2, plus listed versions 3.5-4ubuntu23.5-5ubuntu13.5-5ubuntu23.5-5ubuntu2.1 |
3.5-5ubuntu2.2 |
libmodule-scandeps-perlUbuntu:24.04:LTS From an advisory covering 5 CVEs |
before 1.35-1ubuntu0.24.04.1, plus listed versions 1.31-21.34-11.35-1 |
1.35-1ubuntu0.24.04.1 |
needrestartUbuntu:24.04:LTS From an advisory covering 5 CVEs |
before 3.6-7ubuntu4.3, plus listed versions 3.6-53.6-63.6-73.6-7ubuntu33.6-7ubuntu43.6-7ubuntu4.1 |
3.6-7ubuntu4.3 |
Public exploits
Links only. Every CVE stores no exploit code.
| Source | Link | Date |
|---|---|---|
| Metasploit | Ubuntu needrestart Privilege Escalation | 2024-11-19 |
| PoC in GitHub | makuga01/CVE-2024-48990-PoC | 2024-11-20 |
| PoC in GitHub | ns989/CVE-2024-48990 | 2024-11-21 |
| PoC in GitHub | felmoltor/CVE-2024-48990 | 2024-11-22 |
| PoC in GitHub | Cyb3rFr0g/CVE-2024-48990-PoC | 2024-11-24 |
| PoC in GitHub | pentestfunctions/CVE-2024-48990-PoC-Testing | 2024-11-24 |
| PoC in GitHub | ally-petitt/CVE-2024-48990-Exploit | 2024-11-25 |
| PoC in GitHub | CyberCrowCC/CVE-2024-48990 | 2024-12-09 |
| PoC in GitHub | NullByte-7w7/CVE-2024-48990 | 2024-12-18 |
| PoC in GitHub | Serner77/CVE-2024-48990-Automatic-Exploit | 2025-10-28 |
Show 10 moreShow less
| Source | Link | Date |
|---|---|---|
| PoC in GitHub | mladicstefan/CVE-2024-48990 | 2025-10-28 |
| PoC in GitHub | Mr-DJ/CVE-2024-48990 | 2025-10-30 |
| PoC in GitHub | Loaxert/CVE-2024-48990-PoC | 2025-10-31 |
| PoC in GitHub | endermixxer/CVE-2024-48990_needrestart | 2025-11-11 |
| PoC in GitHub | nekr0ff/needrestart-sudo-escalate-cve-2024-48990 | 2025-11-12 |
| PoC in GitHub | 0x3bs/CVE-2024-48990 | 2025-12-01 |
| PoC in GitHub | o-sec/CVE-2024-48990 | 2025-12-16 |
| PoC in GitHub | sobbing333/CVE-2024-48990-POC | 2025-12-21 |
| PoC in GitHub | grecosamuel/CVE-2024-48990 | 2025-12-22 |
| PoC in GitHub | BLUEBERRYP1LL/CVE-2024-48990 | 2026-02-13 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, exploits, facts | ||
| first indexed | CVE List, EUVD, GitHub Advisories, Metasploit, NVD, OSV, PoC in GitHub |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-48990 is a high vulnerability (CVSS 7.8) in Needrestart, published November 19, 2024. Public exploit code exists. EPSS puts the chance of exploitation in the next 30 days at 21.3%, the 97th percentile. Fixed in needrestart 3.6-4+deb12u2.
References
cve.org/CVERecord?id=CVE-2024-48990
github.com/liske/needrestart/commit/fcc9a4401392231bef4ef5ed026a0d7a275149ab
qualys.com/2024/11/19/needrestart/needrestart.txt
openwall.com/lists/oss-security/2024/11/19/1
seclists.org/fulldisclosure/2024/Nov/17
lists.debian.org/debian-lts-announce/2024/11/msg00014.html
Show 13 moreShow less
nvd.nist.gov/vuln/detail/CVE-2024-48990
github.com/advisories/GHSA-7c65-3hqv-hvmm
errata.cloudlinux.com/ubuntu16-els/CLSA-2024-1734028058.html
errata.tuxcare.com/els_os/ubuntu20.04els/CLSA-2026-1778933429.html
github.com/CVEProject/cvelistV5/tree/main/cves/2024/48xxx/CVE-2024-48990.json
github.com/liske/needrestart
security-tracker.debian.org/tracker/CVE-2024-48990
ubuntu.com/security/CVE-2024-48990
ubuntu.com/security/notices/USN-7117-1
ubuntu.com/security/CVE-2024-10224
ubuntu.com/security/CVE-2024-11003
ubuntu.com/security/CVE-2024-48991
ubuntu.com/security/CVE-2024-48992