CVE-2023-4527
Medium · 6.5CVSS
6.5
EPSS
1.7%
Published
Sep 18, 2023
CISA due date
—
Cloudanix analysis
A bug in a fundamental system library on many Linux computers can let an attacker see fragments of memory or crash programs that look up internet addresses under certain network settings.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- High
- Impact
- Data Exposure
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Medium
What it actually does
Memory corruption in glibc getaddrinfo when processing oversized TCP DNS responses (>2048 bytes) under AF_UNSPEC with no-aaaa resolv.conf mode, resulting in stack content disclosure and possible process crash.
Why it matters to the business
Limited risk of information leakage or application instability on affected Linux distributions and appliances; low urgency given age, modest EPSS growth, and lack of KEV or ransomware use, though widespread glibc deployment across enterprise and embedded systems increases exposure surface.
How an attack unfolds
An attacker controls a DNS server or MITM path and responds to a getaddrinfo(AF_UNSPEC) query with a large TCP DNS packet; the flawed parsing leaks stack data or crashes the calling process. Public exploit code exists and the vulnerability has been referenced in threat actor discussions.
How to fix it
Upgrade glibc to the latest vendor-patched release on all affected Red Hat Enterprise Linux, Fedora, and NetApp systems; rebuild and restart dependent applications; enforce TCP DNS size limits or disable no-aaaa where operationally feasible until patches are applied.
How to confirm the fix worked
Verify glibc package versions against vendor advisories, run regression tests exercising getaddrinfo with large TCP responses in no-aaaa mode, and confirm absence of crashes or anomalous address data in test outputs.
Typical attack path
- Position attacker-controlled DNS responder or intercept traffic
- Trigger target application call to getaddrinfo with AF_UNSPEC
- Deliver crafted TCP DNS response exceeding 2048 bytes under no-aaaa configuration
- Observe stack disclosure in returned address data or induced crash
How to detect it
Review application and system logs for segmentation faults or abnormal terminations during DNS resolution, inspect network captures for oversized TCP DNS responses to clients using getaddrinfo, and correlate with process crashes on systems configured with no-aaaa.
What your security team should do
- Prioritize patching glibc on internet-facing or high-value systems within standard change windows
- Monitor EPSS and exploit availability trends for any increase in observed activity
- Audit resolv.conf configurations for no-aaaa usage and assess necessity
- Include glibc version checks in vulnerability scanning and asset inventory
The record
A flaw was found in glibc. When the getaddrinfo function is called with the AF_UNSPEC address family and the system is configured with no-aaaa mode via /etc/resolv.conf, a DNS response via TCP larger than 2048 bytes can potentially disclose stack contents through the function returned address data, and may cause a crash.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | compat-libpthread-nonshared | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-all-langpacks | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-benchtests | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-common | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-devel | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-doc | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-gconv-extra | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-headers | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-aa | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-af | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-agr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ak | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-am | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-an | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-anp | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ar | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-as | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ast | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ayc | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-az | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-be | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bem | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ber | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bg | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bhb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bho | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bo | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-br | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-brx | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-bs | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-byn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ca | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ce | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-chr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-cmn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-crh | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-cs | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-csb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-cv | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-cy | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-da | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-de | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-doi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-dsb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-dv | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-dz | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-el | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-en | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-eo | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-es | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-et | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-eu | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fa | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ff | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fil | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fo | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fur | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-fy | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ga | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-gd | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-gez | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-gl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-gu | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-gv | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ha | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hak | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-he | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hif | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hne | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hsb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ht | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hu | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-hy | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ia | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-id | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ig | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ik | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-is | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-it | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-iu | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ja | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ka | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kab | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kk | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-km | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ko | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kok | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ks | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ku | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-kw | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ky | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lg | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-li | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lij | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ln | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lo | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lt | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lv | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-lzh | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mag | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mai | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mfe | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mg | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mhr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-miq | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mjw | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mk | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ml | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mni | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ms | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-mt | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-my | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nan | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nb | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nds | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ne | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nhn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-niu | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-nso | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-oc | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-om | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-or | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-os | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-pa | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-pap | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-pl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ps | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-pt | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-quz | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-raj | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ro | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ru | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-rw | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sa | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sah | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sat | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sc | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sd | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-se | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sgs | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-shn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-shs | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-si | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sid | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sk | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sm | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-so | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sq | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ss | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-st | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sv | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-sw | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-szl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ta | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tcy | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-te | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tg | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-th | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-the | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ti | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tig | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tk | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tl | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tn | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-to | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tpi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tr | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ts | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-tt | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ug | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-uk | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-unm | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ur | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-uz | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-ve | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-vi | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-wa | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-wae | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-wal | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-wo | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-xh | 0 | 2.28-225.el8_8.6 |
| AlmaLinux:8 | glibc-langpack-yi | 0 | 2.28-225.el8_8.6 |
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-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