CVE-2024-33601
High · 7.3CVSS
7.3
EPSS
1.1%
Published
May 6, 2024
CISA due date
—
Cloudanix analysis
A background service that speeds up name lookups can unexpectedly crash when memory runs low, briefly disrupting applications that rely on it.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
nscd netgroup cache uses xmalloc/xrealloc which terminate the daemon process on allocation failure instead of handling errors gracefully, resulting in denial of service to name service clients.
Why it matters to the business
Systems using nscd for name resolution experience sudden daemon crashes under memory pressure, interrupting cached lookups and causing application delays or failures until the service restarts.
How an attack unfolds
An attacker triggers netgroup cache operations via name service queries while the system is under memory pressure, causing an allocation failure that invokes the terminating malloc wrapper and crashes the nscd process.
How to fix it
Upgrade glibc to a version containing commit 3d1aed874918c466a4477af1da35983ab036690e or later; restart nscd after update; consider disabling netgroup caching if immediate patching is not feasible.
How to confirm the fix worked
Confirm glibc version contains commit 3d1aed874918c466a4477af1da35983ab036690e; test nscd under simulated memory pressure to verify graceful handling instead of termination; monitor process stability during cache operations.
Typical attack path
- Identify hosts running nscd with netgroup caching enabled
- Generate name service requests that populate or query the netgroup cache
- Induce memory pressure on the target system to force allocation failure during cache handling
- Observe daemon termination and resulting loss of cached name resolution for clients
How to detect it
Review system and daemon logs for nscd crashes or abrupt terminations correlated with netgroup cache activity; look for memory allocation failure messages around the time of process exit.
What your security team should do
- Prioritize patching glibc on all systems running nscd to the fixed commit
- Audit configurations to disable unnecessary netgroup caching
- Implement process monitoring and automatic restart for nscd
- Review memory limits and resource constraints on affected hosts
The record
nscd: netgroup cache may terminate daemon on memory allocation failure The Name Service Cache Daemon's (nscd) netgroup cache uses xmalloc or xrealloc and these functions may terminate the process due to a memory allocation failure resulting in a denial of service to the clients. The flaw was introduced in glibc 2.15 when the cache was added to nscd. This vulnerability is only present in the nscd binary.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | compat-libpthread-nonshared | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-all-langpacks | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-benchtests | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-common | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-devel | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-doc | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-gconv-extra | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-headers | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-aa | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-af | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-agr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ak | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-am | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-an | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-anp | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ar | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-as | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ast | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ayc | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-az | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-be | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bem | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ber | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bg | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bhb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bho | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bo | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-br | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-brx | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-bs | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-byn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ca | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ce | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-chr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-cmn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-crh | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-cs | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-csb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-cv | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-cy | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-da | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-de | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-doi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-dsb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-dv | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-dz | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-el | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-en | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-eo | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-es | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-et | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-eu | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fa | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ff | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fil | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fo | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fur | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-fy | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ga | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-gd | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-gez | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-gl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-gu | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-gv | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ha | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hak | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-he | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hif | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hne | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hsb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ht | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hu | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-hy | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ia | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-id | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ig | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ik | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-is | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-it | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-iu | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ja | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ka | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kab | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kk | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-km | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ko | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kok | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ks | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ku | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-kw | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ky | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lg | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-li | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lij | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ln | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lo | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lt | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lv | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-lzh | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mag | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mai | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mfe | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mg | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mhr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-miq | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mjw | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mk | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ml | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mni | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ms | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-mt | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-my | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nan | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nb | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nds | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ne | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nhn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-niu | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-nso | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-oc | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-om | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-or | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-os | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-pa | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-pap | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-pl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ps | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-pt | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-quz | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-raj | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ro | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ru | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-rw | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sa | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sah | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sat | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sc | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sd | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-se | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sgs | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-shn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-shs | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-si | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sid | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sk | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sm | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-so | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sq | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ss | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-st | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sv | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-sw | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-szl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ta | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tcy | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-te | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tg | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-th | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-the | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ti | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tig | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tk | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tl | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tn | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-to | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tpi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tr | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ts | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-tt | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ug | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-uk | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-unm | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ur | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-uz | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-ve | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-vi | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-wa | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-wae | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-wal | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-wo | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-xh | 0 | 2.28-251.el8_10.2 |
| AlmaLinux:8 | glibc-langpack-yi | 0 | 2.28-251.el8_10.2 |
Related vulnerabilities
- CVE-2025-0395 When the assert() function in the GNU C Library versions 2.13 to 2.40 fails, it does not… Also affects compat-libpthread-nonshared
- CVE-2024-33602 nscd: netgroup cache assumes NSS callback uses in-buffer strings The Name Service Cache… Also affects compat-libpthread-nonshared
- CVE-2024-33599 nscd: Stack-based buffer overflow in netgroup cache If the Name Service Cache Daemon's… Also affects compat-libpthread-nonshared
- CVE-2024-33600 nscd: Null pointer crashes after notfound response If the Name Service Cache Daemon's… Also affects compat-libpthread-nonshared
- CVE-2024-2961 The iconv() function in the GNU C Library versions 2.39 and older may overflow the output… Also affects compat-libpthread-nonshared
- CVE-2023-4911 A buffer overflow was discovered in the GNU C Library's dynamic loader ld.so while… Also affects compat-libpthread-nonshared
- CVE-2023-4806 A flaw has been identified in glibc. Also affects compat-libpthread-nonshared
- CVE-2023-4527 A flaw was found in glibc. Also affects compat-libpthread-nonshared