Cloudanix VulnDB

CVE-2024-33602

High · 7.4

CVSS

7.4

EPSS

0.4%

Published

May 6, 2024

CISA due date

—

Cloudanix analysis

Monitor only SSVC: Track

A bug in a system service that caches name information can let someone already on the machine corrupt memory and potentially gain more control.

Exploitation
Local Privilege
Attacker needs
Local User
Complexity
High
Impact
Full Compromise
Component
Library
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Medium

What it actually does

The nscd netgroup cache can corrupt memory when the NSS callback does not store all strings in the provided buffer, introduced in glibc 2.15 and present only in the nscd binary.

Why it matters to the business

Systems using nscd for netgroup caching face risk of local memory corruption that may lead to service crashes or code execution, potentially allowing compromise of affected hosts without remote access.

How an attack unfolds

A local attacker configures an NSS module or environment that triggers netgroup cache lookups in nscd, supplying a callback returning strings outside the expected buffer to induce memory corruption and achieve code execution.

How to fix it

Upgrade glibc to a build containing commit 3d1aed874918c466a4477af1da35983ab036690e. Disable or remove the nscd binary if netgroup caching is unnecessary.

How to confirm the fix worked

Confirm glibc packages contain the referenced commit or later, restart nscd, and validate netgroup caching behavior under controlled NSS callback tests for absence of corruption.

Typical attack path

  1. Obtain local access on a target system running nscd
  2. Set up or modify an NSS configuration to affect netgroup lookups
  3. Trigger netgroup cache operations within nscd
  4. Leverage resulting memory corruption for arbitrary code execution or denial of service

How to detect it

Inspect nscd process logs and system crash reports for memory corruption signals tied to netgroup cache operations; review NSS configuration changes on hosts running nscd.

What your security team should do

  • Apply the glibc update containing commit 3d1aed874918c466a4477af1da35983ab036690e across all affected systems
  • Review and minimize use of nscd where netgroup functionality is not required
  • Include nscd memory error monitoring in routine host integrity checks

The record

nscd: netgroup cache assumes NSS callback uses in-buffer strings The Name Service Cache Daemon's (nscd) netgroup cache can corrupt memory when the NSS callback does not store all strings in the provided buffer. 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