CVE-2024-5564
High · 8.1CVSS
8.1
EPSS
1.2%
Published
May 31, 2024
CISA due date
—
Cloudanix analysis
A flaw in network handling software lets a local attacker send bad network messages that can crash systems or take them over.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Full Compromise
- Component
- Library
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Improper validation of route length in IPv6 router advertisement packets within libndp allows a buffer overflow in NetworkManager, enabling memory corruption that can lead to crashes or arbitrary code execution.
Why it matters to the business
Attackers could disrupt network connectivity services or gain elevated access on affected systems, resulting in downtime, data exposure, or further compromise of hosts relying on NetworkManager for IPv6 handling.
How an attack unfolds
An attacker with local access crafts and sends a malformed IPv6 router advertisement packet containing invalid route length data; libndp fails to validate this input, triggering a buffer overflow in NetworkManager that an adversary can leverage for code execution or denial of service.
How to fix it
Upgrade libndp and NetworkManager to versions containing input validation fixes for IPv6 route advertisements; apply vendor patches as they become available and rebuild any dependent packages.
How to confirm the fix worked
Verify installed libndp and NetworkManager versions against upstream security advisories; test packet handling with controlled malformed IPv6 RAs in a lab environment and confirm absence of crashes or overflows via fuzzing or static analysis.
Typical attack path
- Obtain local access or network-adjacent position to inject IPv6 traffic
- Craft malformed IPv6 router advertisement with oversized or invalid route length field
- Deliver packet to trigger libndp processing in NetworkManager
- Exploit resulting buffer overflow for memory corruption or code execution
How to detect it
Review NetworkManager and system logs for segmentation faults or crashes during IPv6 packet processing; inspect network captures for anomalous router advertisement packets with suspicious route options; correlate with local user activity around the time of any service restarts.
What your security team should do
- Monitor for upstream fixes and schedule patching of libndp/NetworkManager across all systems
- Restrict local user privileges and IPv6 RA acceptance where feasible until mitigated
- Enable exploit mitigation features such as ASLR and stack canaries on affected hosts
The record
A vulnerability was found in libndp. This flaw allows a local malicious user to cause a buffer overflow in NetworkManager, triggered by sending a malformed IPv6 router advertisement packet. This issue occurred as libndp was not correctly validating the route length information.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | libndp | 0 | 1.7-7.el8_10.alma.1 |
| AlmaLinux:9 | libndp | 0 | 1.8-6.el9_4.alma.1 |
| Debian:10 | libndp | 0 | 1.6-1+deb10u1 |
| Debian:11 | libndp | 0 | 1.6-1+deb11u1 |
| Debian:12 | libndp | 0 | 1.8-1+deb12u1 |
| Debian:13 | libndp | 0 | 1.8-2 |
| Mageia:9 | libndp | 0 | 1.8-2.1.mga9 |
| Red Hat:enterprise_linux:8::baseos | libndp | 0 | 0:1.7-7.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libndp-debuginfo | 0 | 0:1.7-7.el8_10 |
| Red Hat:enterprise_linux:8::baseos | libndp-debugsource | 0 | 0:1.7-7.el8_10 |
| Red Hat:enterprise_linux:9::baseos | libndp | 0 | 0:1.8-6.el9_4 |
| Red Hat:enterprise_linux:9::baseos | libndp-debuginfo | 0 | 0:1.8-6.el9_4 |
| Red Hat:enterprise_linux:9::baseos | libndp-debugsource | 0 | 0:1.8-6.el9_4 |
| Red Hat:rhel_aus:8.2::baseos | libndp | 0 | 0:1.7-4.el8_2 |
| Red Hat:rhel_aus:8.2::baseos | libndp-debuginfo | 0 | 0:1.7-4.el8_2 |
| Red Hat:rhel_aus:8.2::baseos | libndp-debugsource | 0 | 0:1.7-4.el8_2 |
| Red Hat:rhel_aus:8.4::baseos | libndp | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_aus:8.4::baseos | libndp-debuginfo | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_aus:8.4::baseos | libndp-debugsource | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_aus:8.6::baseos | libndp | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_aus:8.6::baseos | libndp-debuginfo | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_aus:8.6::baseos | libndp-debugsource | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_e4s:8.4::baseos | libndp | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_e4s:8.4::baseos | libndp-debuginfo | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_e4s:8.4::baseos | libndp-debugsource | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_e4s:8.6::baseos | libndp | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_e4s:8.6::baseos | libndp-debuginfo | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_e4s:8.6::baseos | libndp-debugsource | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_e4s:9.0::baseos | libndp | 0 | 0:1.8-5.el9_0 |
| Red Hat:rhel_e4s:9.0::baseos | libndp-debuginfo | 0 | 0:1.8-5.el9_0 |
| Red Hat:rhel_e4s:9.0::baseos | libndp-debugsource | 0 | 0:1.8-5.el9_0 |
| Red Hat:rhel_els:7 | libndp | 0 | 0:1.2-10.el7_9 |
| Red Hat:rhel_els:7 | libndp-debuginfo | 0 | 0:1.2-10.el7_9 |
| Red Hat:rhel_els:7 | libndp-devel | 0 | 0:1.2-10.el7_9 |
| Red Hat:rhel_eus:8.8::baseos | libndp | 0 | 0:1.7-7.el8_8 |
| Red Hat:rhel_eus:8.8::baseos | libndp-debuginfo | 0 | 0:1.7-7.el8_8 |
| Red Hat:rhel_eus:8.8::baseos | libndp-debugsource | 0 | 0:1.7-7.el8_8 |
| Red Hat:rhel_eus:9.2::baseos | libndp | 0 | 0:1.8-5.el9_2 |
| Red Hat:rhel_eus:9.2::baseos | libndp-debuginfo | 0 | 0:1.8-5.el9_2 |
| Red Hat:rhel_eus:9.2::baseos | libndp-debugsource | 0 | 0:1.8-5.el9_2 |
| Red Hat:rhel_tus:8.4::baseos | libndp | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_tus:8.4::baseos | libndp-debuginfo | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_tus:8.4::baseos | libndp-debugsource | 0 | 0:1.7-6.el8_4 |
| Red Hat:rhel_tus:8.6::baseos | libndp | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_tus:8.6::baseos | libndp-debuginfo | 0 | 0:1.7-7.el8_6 |
| Red Hat:rhel_tus:8.6::baseos | libndp-debugsource | 0 | 0:1.7-7.el8_6 |
| Rocky Linux:8 | libndp | 0 | 0:1.7-7.el8_10 |
| Rocky Linux:9 | libndp | 0 | 0:1.8-6.el9_4 |
| SUSE:Enterprise Storage 7.1 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP2-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Micro 5.3 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Micro 5.4 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Micro 5.5 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP5 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server 12 SP5 | libndp | 0 | 1.6-4.5.1 |
| SUSE:Linux Enterprise Server 15 SP2-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | libndp | 0 | 1.6-4.5.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP2 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | libndp | 0 | 1.6-150000.3.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | libndp | 0 | 1.6-150000.3.3.1 |
| Ubuntu:20.04:LTS | libndp | 0 | 1.7-0ubuntu1.1 |
| Ubuntu:22.04:LTS | libndp | 0 | 1.8-0ubuntu3.1 |
| Ubuntu:23.10 | libndp | 0 | 1.8-1fakesync1ubuntu0.23.10.1 |
| Ubuntu:24.04:LTS | libndp | 0 | 1.8-1fakesync1ubuntu0.24.04.1 |
| Ubuntu:24.10 | libndp | 0 | 1.8-2fakesync1 |
| Ubuntu:Pro:16.04:LTS | libndp | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | libndp | 0 | 1.4-2ubuntu0.16.04.1+esm1 |
| Ubuntu:Pro:18.04:LTS | libndp | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | libndp | 0 | 1.6-1ubuntu0.1~esm1 |
| openSUSE:Leap 15.5 | libndp | 0 | 1.6-150000.3.3.1 |
| openSUSE:Leap 15.6 | libndp | 0 | 1.6-150000.3.3.1 |
| openSUSE:Tumbleweed | libndp | 0 | 1.8-2.1 |
Related vulnerabilities
- CVE-2016-3698 libndp before 1.6, as used in NetworkManager, does not properly validate the origin of… Also affects libndp
- CVE-2026-112108 A vulnerability was determined in ztxz16 fastllm up to 0.1.8.2. CWE-120
- CVE-2026-90804 A vulnerability was detected in GNU Binutils 2.47. CWE-120
- CVE-2026-90803 A security vulnerability has been detected in GNU Binutils 2.47. CWE-120
- CVE-2026-90801 A security flaw has been discovered in GNU Binutils 2.47. CWE-120
- CVE-2026-42808 An issue was discovered in Bosch Sensortec COINES_SDK versions 2.0 through 2.11. The host… CWE-120
- CVE-2026-87931 A vulnerability has been found in Behavioral Technology Group Pavlok Behavioral… CWE-120
- CVE-2026-71613 Buffer Overflow vulnerability in GPAC c2dee3aff638cd96f9617ac5b17dc2868cd90ef3 allows an… CWE-120