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.
CVE-2024-48990
Score 7.8 from GitHub Security Advisory (severity: HIGH) published 2024-11-19. NVD baseline CVSS 7.8; sources differ by 0.0.
- Public exploit code is available (Metasploit, epss top5pct, public exploit)
A fix is available — apply it.
- CVSS v3
- 7.8
- EG Score
- 7.8(medium)
- EG Risk
- 61(Track)EG Risk 61/100SSVC: Track
EG Risk is EchelonGraph's 0–100 priority score: it fuses intrinsic severity with real-world exploitation and automatability so you can rank equal-severity CVEs and fix the most dangerous first. Higher = act sooner. Distinct from the 0–10 EG Score (severity).
How it’s computedSeverity78% × 45%Exploitation65% × 40%Automatability0% × 15%Action: Routine — remediate on your standard cadence. - EPSS PROB
- 20%
- EPSS %ILE
- 97%
- KEV
- Not listed
Published
November 19, 2024
Last Modified
November 3, 2025
References (6)
- security@ubuntuhttps://github.com/liske/needrestart/commit/fcc9a4401392231bef4ef5ed026a0d7a275149ab
- security@ubuntuhttps://www.cve.org/CVERecord?id=CVE-2024-48990
- security@ubuntuhttps://www.qualys.com/2024/11/19/needrestart/needrestart.txt
- af854a3a-2127-422b-91ae-364da2661108http://seclists.org/fulldisclosure/2024/Nov/17
- af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2024/11/msg00014.html
- af854a3a-2127-422b-91ae-364da2661108https://www.openwall.com/lists/oss-security/2024/11/19/1
Patch Availability(1)
| Vendor / Ecosystem | Fixed in / Patch | Released | Source |
|---|---|---|---|
| ubuntu | needrestart (2.6-1ubuntu0.1~esm1) @ xenial | 2026-05-23 | ubuntu |
Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.
Affected Packages
(4 across 4 ecosystems)
Debian:11(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| needrestart | 3.5-4, 3.5-4+deb11u1, 3.5-4+deb11u2, 3.5-4+deb11u3 | 3.5-4+deb11u4 | — |
Debian:12(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| needrestart | 3.6-4, 3.6-4+deb12u1 | 3.6-4+deb12u2 | — |
Debian:13(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| needrestart | — | 3.7-3.1 | — |
Debian:14(1)
| Package | Vulnerable range | Fixed in | Dependents |
|---|---|---|---|
| needrestart | — | 3.7-3.1 | — |
Weakness Classification(1)
MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.
All Vendor Advisories
(1)
Every vendor that published an advisory referencing this CVE — pulled from our cve_vendor_advisories aggregation. Click any row for the vendor's original advisory page.
Data Freshness Timeline
(refreshed 7× in last 7d / 29× in last 30d)
Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.
Showing the most recent 100 of 154 total refreshes for this CVE.
- 2026-09-19 15:40 UTCEPSS rescore
- 2026-09-18 19:26 UTCEPSS rescore
- 2026-09-17 19:27 UTCEPSS rescore
- 2026-09-16 14:06 UTCEPSS rescore
- 2026-09-16 05:12 UTCEPSS rescore
- 2026-09-15 03:08 UTCEPSS rescore
- 2026-09-15 03:08 UTCEPSS rescore
- 2026-09-12 14:59 UTCEPSS rescore
- 2026-09-11 14:51 UTCEPSS rescore
- 2026-09-11 09:35 UTCEPSS rescore
- 2026-09-10 09:33 UTCEPSS rescore
- 2026-09-08 21:58 UTCEPSS rescore
- 2026-09-06 13:46 UTCEPSS rescore
- 2026-09-06 13:46 UTCEPSS rescore
- 2026-09-04 13:59 UTCEPSS rescore
- 2026-09-04 05:05 UTCEPSS rescore
- 2026-09-02 14:10 UTCEPSS rescore
- 2026-09-01 17:56 UTCOSV refresh
- 2026-09-01 13:52 UTCEPSS rescore
- 2026-09-01 13:52 UTCEPSS rescore
- 2026-08-30 19:16 UTCEPSS rescore
- 2026-08-30 01:20 UTCEPSS rescore
- 2026-08-28 21:39 UTCEPSS rescore
- 2026-08-27 14:23 UTCEPSS rescore
- 2026-08-26 14:44 UTCEPSS rescore
Show 75 moreShow fewer
- 2026-08-25 13:47 UTCEPSS rescore
- 2026-08-24 14:15 UTCEPSS rescore
- 2026-08-23 00:18 UTCEPSS rescore
- 2026-08-21 23:47 UTCEPSS rescore
- 2026-08-20 22:54 UTCEPSS rescore
- 2026-08-19 17:02 UTCEPSS rescore
- 2026-08-19 17:02 UTCEPSS rescore
- 2026-08-18 13:46 UTCEPSS rescore
- 2026-08-16 14:54 UTCEPSS rescore
- 2026-08-16 02:13 UTCEPSS rescore
- 2026-08-15 19:07 UTCOSV refresh
- 2026-08-15 01:29 UTCEPSS rescore
- 2026-08-13 21:59 UTCEPSS rescore
- 2026-08-12 13:49 UTCEPSS rescore
- 2026-08-11 13:40 UTCEPSS rescore
- 2026-08-09 13:45 UTCEPSS rescore
- 2026-08-08 16:35 UTCEPSS rescore
- 2026-08-07 16:25 UTCEPSS rescore
- 2026-08-06 13:45 UTCEPSS rescore
- 2026-08-05 19:16 UTCEPSS rescore
- 2026-08-04 15:08 UTCEPSS rescore
- 2026-08-03 10:34 UTCEPSS rescore
- 2026-08-02 02:25 UTCEPSS rescore
- 2026-08-01 04:14 UTCEPSS rescore
- 2026-08-01 04:14 UTCEPSS rescore
- 2026-07-31 11:42 UTCOSV refresh
- 2026-07-30 16:26 UTCEPSS rescore
- 2026-07-30 01:29 UTCEPSS rescore
- 2026-07-28 15:35 UTCEPSS rescore
- 2026-07-26 14:53 UTCEPSS rescore
- 2026-07-26 14:53 UTCEPSS rescore
- 2026-07-25 14:17 UTCEPSS rescore
- 2026-07-25 14:16 UTCEPSS rescore
- 2026-07-24 14:16 UTCEPSS rescore
- 2026-07-23 14:17 UTCEPSS rescore
- 2026-07-23 14:17 UTCEPSS rescore
- 2026-07-23 02:42 UTCEG score recompute
- 2026-07-22 14:07 UTCEPSS rescore
- 2026-07-22 14:07 UTCEPSS rescore
- 2026-07-21 15:23 UTCEPSS rescore
- 2026-07-20 17:06 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-19 02:28 UTCEPSS rescore
- 2026-07-18 10:03 UTCEPSS rescore
- 2026-07-18 10:03 UTCEPSS rescore
- 2026-07-16 17:02 UTCEPSS rescore
- 2026-07-15 16:57 UTCEPSS rescore
- 2026-07-15 16:56 UTCEPSS rescore
- 2026-07-13 22:29 UTCEPSS rescore
- 2026-07-13 19:07 UTCOSV refresh
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-12 05:45 UTCEPSS rescore
- 2026-07-11 08:26 UTCEPSS rescore
- 2026-07-09 19:09 UTCEPSS rescore
- 2026-07-09 19:09 UTCEPSS rescore
- 2026-07-08 15:14 UTCEPSS rescore
- 2026-07-07 13:45 UTCEPSS rescore
- 2026-07-06 16:26 UTCEPSS rescore
- 2026-07-06 02:22 UTCEPSS rescore
- 2026-07-04 06:30 UTCEPSS rescore
- 2026-07-01 15:05 UTCEPSS rescore
- 2026-06-30 23:21 UTCEPSS rescore
- 2026-06-28 14:07 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-28 04:55 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-27 03:07 UTCEPSS rescore
- 2026-06-25 16:46 UTCOSV refresh
- 2026-06-25 13:49 UTCEPSS rescore
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-24 14:04 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-23 21:32 UTCEPSS rescore
- 2026-06-22 14:25 UTCEPSS rescore
- 2026-06-22 14:25 UTCEPSS rescore
Publicly available exploits
(10 references)Working exploit code is in the public domain (1 Metasploit module) (9 GitHub PoCs). Defenders should treat patch urgency accordingly — public PoCs typically lead to mass-exploitation within 24-72 hours.
- GitHub PoCtahsinunluturk/needrestart-privesc-cve-2024-48990First seen Dec 19, 2025
Local privilege escalation exploit for needrestart (CVE-2024-48990)
Open source ↗ - GitHub PoCo-sec/CVE-2024-48990First seen Dec 16, 2025
an exploit for CVE-2024-48990 ( Local Privilege Escalation ) in needrestart
Open source ↗ - GitHub PoCSerner77/CVE-2024-48990-Automatic-ExploitFirst seen Oct 28, 2025
Automated local privilege escalation exploit for CVE-2024-48990 (needrestart v3.7), leveraging PYTHONPATH hijacking to gain root access.
Open source ↗ - GitHub PoCczeti/CVE-2024-48990_needrestartFirst seen Feb 16, 2025
Exploit for CVE-2024-48990 - Privilege Escalation in Needrestart 3.7-3. For eductional purposes only
Open source ↗ - GitHub PoCally-petitt/CVE-2024-48990-ExploitFirst seen Nov 25, 2024
My exploit for CVE-2024-48990. Full details of how I made this are on my blog.
Open source ↗ - GitHub PoCCyb3rFr0g/CVE-2024-48990-PoCFirst seen Nov 24, 2024
My take on the needrestart Python CVE-2024-48990
Open source ↗ - GitHub PoCpentestfunctions/CVE-2024-48990-PoC-TestingFirst seen Nov 24, 2024
Testing POC for use cases
Open source ↗ - GitHub PoCns989/CVE-2024-48990First seen Nov 21, 2024
Exploit for CVE-2024-48990 (Local Privilege Escalation in needrestart < 3.8)
Open source ↗ - GitHub PoCmakuga01/CVE-2024-48990-PoCFirst seen Nov 20, 2024
PoC for CVE-2024-48990
Open source ↗ - Metasploitexploit/linux/local/ubuntu_needrestart_lpe✓ verifiedFirst seen Nov 19, 2024
Ubuntu needrestart Privilege Escalation
Open source ↗
Frequently asked(5)
What is CVE-2024-48990?
When was CVE-2024-48990 disclosed?
Is CVE-2024-48990 actively exploited?
What is the CVSS score of CVE-2024-48990?
How do I remediate CVE-2024-48990?
Dependency Blast Radius
See which npm, PyPI, Go, and Maven packages are affected by CVE-2024-48990
Is Your Infrastructure Affected by CVE-2024-48990?
EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.