CVE-2024-33599
High · 8.1CVSS
8.1
EPSS
1.3%
Published
May 6, 2024
CISA due date
—
Cloudanix analysis
A flaw in a background service that speeds up user and group lookups could let attackers seize control of a computer by overwhelming that service with requests.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Remote Code Execution
- Component
- Application
- Class
- Buffer Overflow
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Stack-based buffer overflow in nscd when its fixed-size netgroup cache is exhausted followed by a netgroup lookup request, allowing out-of-bounds writes on the stack.
Why it matters to the business
Systems running the nscd daemon from affected glibc versions face risk of remote code execution or denial of service; the issue has low observed exploitation and no ransomware use, but organizations must still apply updates promptly to avoid potential compromise of name-service caching infrastructure.
How an attack unfolds
An attacker repeatedly issues NSS requests to exhaust nscd's netgroup cache, then sends a specially crafted netgroup query that triggers the overflow, potentially allowing control of the nscd process.
How to fix it
Upgrade glibc to the version containing commit 3d1aed874918c466a4477af1da35983ab036690e or later; disable or remove the nscd binary if netgroup caching is not required.
How to confirm the fix worked
Confirm the installed glibc package contains commit 3d1aed874918c466a4477af1da35983ab036690e; test nscd behavior under cache-exhaustion conditions with netgroup queries; verify nscd process remains stable.
Typical attack path
- Identify hosts exposing or reachable to nscd via local or network NSS queries
- Flood nscd with requests to exhaust the fixed-size netgroup cache
- Send crafted netgroup lookup that overflows the stack buffer
- Achieve code execution or crash within the nscd process
How to detect it
Review system logs for nscd crashes or segmentation faults following high volumes of NSS netgroup queries; inspect process memory dumps or core files for stack corruption artifacts around netgroup handling.
What your security team should do
- Apply the glibc update containing commit 3d1aed874918c466a4477af1da35983ab036690e as soon as packages are available
- Disable nscd where netgroup caching is unnecessary
- Monitor for nscd crashes or unusual NSS traffic patterns
The record
nscd: Stack-based buffer overflow in netgroup cache If the Name Service Cache Daemon's (nscd) fixed size cache is exhausted by client requests then a subsequent client request for netgroup data may result in a stack-based buffer overflow. This 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-33600 nscd: Null pointer crashes after notfound response If the Name Service Cache Daemon's… Also affects compat-libpthread-nonshared
- CVE-2024-33601 nscd: netgroup cache may terminate daemon on memory allocation failure The Name Service… 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