CVE-2026-89092 in C Libraryinfo

Summary

by MITRE • 09/11/2026

The nscd service in the GNU C Library 2.3.4 onwards may crash due to a stack overflow when a malicious DNS server returns too large a response for a DNS query, resulting in degraded DNS resolution for the system.



Exploitation of this bug needs a system that has nscd enabled and using an untrusted DNS server for name resolution, with the compromised DNS server being capable of processing records large enough to result in a stack overflow in an nscd thread stack.  During experimentation, bind 9 was unable to handle large records, but that could change in future or with a different name server.  In typical installations, nscd is executed in an isolated context as its own user without a shell, due to which any compromise of that service is isolated.



There is a remote possibility of nscd cache corruption if an attacker manages to get the stack pointer into a desired point in the heap, potentially resulting in other caches in nscd being overwritten with corrupt data through the stack overflow, until the buggy code path eventually results in a crash.



Finally, a crash in nscd may result in performance degradation when resolving names, but it does not result in a denial of service.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 09/11/2026

The vulnerability identified involves the Name Service Cache Daemon (nscd) component within the GNU C Library versions starting from 2.3.4. This flaw manifests as a stack overflow condition triggered by excessively large DNS responses returned by a malicious or compromised Domain Name System server. When nscd processes these oversized records, it fails to adequately validate the size of incoming data before attempting to parse and cache them. The daemon allocates memory on the thread's call stack for processing DNS queries without sufficient bounds checking against available stack space. Consequently, when a response exceeds expected limits, the recursive parsing logic consumes more stack frames than allocated, leading directly to a stack overflow exception that crashes the nscd process or corrupts its internal state.

From an operational perspective, this vulnerability primarily impacts system stability and name resolution performance rather than providing direct remote code execution capabilities under typical configurations. The exploitation requires specific environmental conditions: the target system must have nscd enabled and configured to use an untrusted DNS server for resolving hostnames. If a compromised or malicious DNS server returns records large enough to trigger this overflow, it can cause the nscd service to crash repeatedly. This results in degraded DNS resolution performance as the caching mechanism is disrupted, forcing applications to fall back to slower direct queries or experience timeouts while the daemon restarts. However, because modern Linux distributions typically run nscd under an isolated user account without shell access, any potential compromise of the service context remains confined and does not grant broader system privileges.

There exists a secondary risk vector involving cache corruption if an attacker can manipulate the stack pointer to point into heap memory during the overflow event. In such scenarios, the corrupted data written via the stack overflow could overwrite other caches managed by nscd with invalid or maliciously crafted information. This might lead to incorrect name resolution results for subsequent queries until the buggy code path eventually causes a crash that resets the state. While this cache corruption is theoretically possible, it depends on precise memory layout conditions and successful control of execution flow during the overflow, making it less predictable than the straightforward denial-of-service impact caused by crashes.

This vulnerability aligns with CWE-121, which describes stack-based buffer overflows resulting from insufficient bounds checking on local variables or data structures processed within a function call chain. It also relates to CWE-400 regarding uncontrolled resource consumption, as the excessive memory usage leads to service degradation. In terms of attack tactics, this scenario reflects aspects of ATT&CK technique T1498, specifically Network Denial of Service via volumetric attacks or protocol abuse, although here it is achieved through application-layer logic flaws rather than pure bandwidth exhaustion. The lack of input validation on DNS response sizes represents a failure in secure coding practices regarding external data handling.

Mitigation strategies should focus on both configuration hardening and software updates. Administrators are advised to ensure that nscd runs with minimal privileges, utilizing chroot environments or systemd service isolation features where available to limit the blast radius of any potential exploitation. Updating the GNU C Library to a patched version is the primary remediation step, as newer releases include fixes for input validation in DNS parsing routines. Additionally, configuring systems to use trusted and robust DNS resolvers that enforce strict size limits on responses can reduce exposure. Implementing network-level filtering rules to drop abnormally large UDP packets destined for port 53 or originating from untrusted sources provides an additional layer of defense against this specific vector.

Responsible

Glibc

Reservation

09/10/2026

Disclosure

09/11/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!