Skip to main content

GNU C Library CVE-2026-97399

| EUVDEUVD-2026-88320 LOW
Buffer Over-read (CWE-126)
2026-09-28 glibc GHSA-qhjw-2xw3-v2hv
3.7
CVSS 3.1 · Vendor: glibc
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Supply attacker-controlled strings to app
  2. Delivery
    Strings align to page-edge boundary
  3. Exploit
    Trigger 1-byte OOB read in strncasecmp
  4. Execution
    Fault on unmapped neighbouring page
  5. Impact
    Crash process (DoS)

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Buffer over-read prevention
Exploitation Conditions

Exploitation is limited to systems running glibc 2.24 or later on the IBM POWER8 architecture, where the Power8-optimized strncasecmp implementation is used. It further requires that both compared strings be attacker-controlled and match all the way to the last byte of a memory page whose neighbouring page is unmapped or non-readable - only then does the one-byte over-read fault. These conditions (specific CPU family plus precise page-boundary alignment) make triggering non-deterministic and account for the AC:H rating; impact is limited to crashing the affected process (A:L), with no code execution, data disclosure, or data modification.

Impact

This is a low-severity availability-only issue, and all signals agree it is not a priority. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L, base 3.7) reflects a one-byte out-of-bounds read (CWE-126) in the Power8-optimized strncasecmp that can only crash the calling program - no confidentiality or integrity impact, and A:L rather than A:H because a single unreadable byte causes at most a segfault of one process, not sustained service denial. Attack complexity is High, correctly, because the read only faults under a narrow memory layout: the attacker-controlled strings must match up to the exact edge of a mapped page whose neighbour is unmapped or unreadable. No EPSS score, KEV listing, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The network attack vector (AV:N) is justified only in the sense that the triggering strings can be attacker-supplied through an application that forwards remote input into strncasecmp; the fault itself is a local memory read within the process. Net: genuine but very low real-world risk - a reliability bug on one CPU family, not a security emergency.

Exploit ScenarioDerived

An attacker supplies two strings to an application running on POWER8 hardware (e.g. via a network field the app compares with strncasecmp) that are identical up to the final byte of a memory page, where the adjacent page is unmapped. The optimized comparison reads one byte past the limit, faults, and crashes the process, causing a denial of service. No public POC was provided, and the narrow page-boundary requirement (AC:H) makes reliable triggering difficult.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 28, 2026

Power8-optimized strncasecmp in the GNU C Library (glibc) 2.24 and later can read one byte past the caller-supplied length limit, faulting only when the compared strings match up to the final byte of a memory page and the adjacent page is unmapped or non-readable, which crashes the calling process. Per the assessed vector (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L), the flaw is reachable by unauthenticated remote attackers only in applications that pass attacker-controlled strings into strncasecmp, and impact is confined to a low-availability denial of service of that process - no code execution, data disclosure, or modification. Exploitation additionally requires the specific IBM POWER8 CPU family and precise page-boundary alignment, making triggering non-deterministic; no public exploit has been identified at time of analysis and there is no evidence of confirmed active exploitation (CISA KEV). Overall this is a low-severity availability-only bug that is not a priority for most environments.

RemediationAI

Apply the fix from the upstream glibc security advisory GLIBC-SA-2026-0024 (https://sourceware.org/git/?p=glibc.git;a=blob_plain;f=advisories/GLIBC-SA-2026-0024) and see the accompanying bug report at https://sourceware.org/bugzilla/show_bug.cgi?id=34683; where a distribution backport has shipped, upgrade glibc to the patched package build for that distribution, and be aware that the available data does not state an exact upstream release number for the fix, so the distro package version rather than a guessed glibc version should be treated as the authoritative patch indicator. Note that glibc replacement typically requires restarting all processes that link it, so container images and long-running services must be restarted before the fix takes effect. As compensating controls, operators on POWER8 can seek a distribution-provided mechanism to override ifunc selection (for example a glibc.cpu.hwcaps-style tunable) to force the generic byte-wise strncasecmp implementation, accepting a measurable performance regression in string comparison-the trade-off is throughput on workloads that call strncasecmp heavily, and the override must be validated against the vendor's supported tunable list before deployment. Because the only impact is a crash of the calling process, reduce blast radius by running the affected service under a supervisor or systemd restart policy, capping the blast radius with process isolation and resource limits, and avoiding attacker-controlled use of strncasecmp in security-critical paths; blocking network access is not a meaningful control here since the trigger requires a specific byte-alignment condition rather than a specific port or protocol. No public exploit code has been identified at time of analysis, so these measures are precautionary rather than incident-driven.

Affected VersionsENISA

glibc 2.24 <2.45

Affected Packages

euvd glibc fix: 2.45

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The GNU C Library (glibc) ships multiple implementations of strncasecmp selected at runtime through ifunc (indirect function) resolution. On the IBM POWER8 (ppc64le/PowerPC) architecture, the selected implementation uses vector/VSX-style loads that can fetch a full machine word (or wider) rather than a single byte, so an input whose length limit falls exactly at the end of a mapped page may cause the optimized routine to issue a load touching the first byte of the following page. This is a classic out-of-bounds read of one byte, classified as CWE-126 (Buffer Over-read). If that neighbouring page is unmapped or not readable, the CPU raises a fault and the process receives SIGSEGV. Because the over-read is a read-only, single-byte overrun whose result is discarded, there is no path to memory corruption, information disclosure, or control-flow hijack: the only observable outcome is abnormal termination of the process performing the comparison. The CPE cpe:2.3:a:the_gnu_c_library:glibc:*:*:*:*:*:*:*:* reflects that the vulnerable code exists across glibc versions from 2.24 onward, but the defect is only reachable on Power8 hardware where the optimized ifunc variant is chosen; on other architectures and CPUs the generic byte-wise implementation is used and does not exhibit the over-read. The high attack complexity (AC:H) in the assessed vector directly encodes the requirement for both the specific CPU family and the precise page-boundary alignment, which makes the fault non-deterministic even when all preconditions are met.

Know when Glibc gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (glibc) PRIMARY 3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
vuln.today AI 3.7 LOW

AV:N as triggering strings may be remote app input; AC:H due to the required page-edge alignment and Power8-only path; only A:L for a single-process crash, no C/I.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N

Primary rating from Vendor (glibc).

CVSS VectorVendor: glibc

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
None
Availability
Low

Lifecycle Timeline

1
Patch available
Sep 28, 2026 - 16:17 EUVD

DescriptionCVE.org

The strncasecmp function in the GNU C Library 2.24 and later optimized for the Power8 architecture may read one byte beyond the input size limit, which may crash a program when that byte is not readable.

This condition may happen when the input strings to the strncasecmp function are attacker controlled in an application and they match all the way up to the edge of their page and the neighbouring page is either not mapped or is not readable.

Threat Intelligence Overview

EPSS Score
0.3%
Top 80% exploitable
Prevalence
Medium
glibc is ubiquitous but only Power8/ppc64le builds are affected
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.

More in Glibc

View all
CVE-2023-4911 HIGH POC
7.8 Oct 03

Local privilege escalation in the GNU C Library (glibc) dynamic loader ld.so allows unprivileged local users on affected

CVE-2015-0235 CRITICAL POC
10.0 Jan 28

Heap-based buffer overflow in the __nss_hostname_digits_dots function in glibc 2.2, and other 2.x versions before 2.18,

CVE-2024-2961 HIGH POC
7.3 Apr 17

The iconv() function in the GNU C Library versions 2.39 and older may overflow the output buffer passed to it by up to 4

CVE-2015-7547 HIGH POC
8.1 Feb 18

Multiple stack-based buffer overflows in the (1) send_dg and (2) send_vc functions in the libresolv library in the GNU C

CVE-2023-6246 HIGH POC
8.4 Jan 31

Local privilege escalation in GNU glibc 2.36 and newer arises from a heap-based buffer overflow in __vsyslog_internal, r

CVE-2014-5119 HIGH POC
7.5 Aug 29

Off-by-one error in the __gconv_translit_find function in gconv_trans.c in GNU C Library (aka glibc) allows context-depe

CVE-2012-4412 HIGH POC
7.5 Oct 09

Integer overflow in string/strcoll_l.c in the GNU C Library (aka glibc or libc6) 2.17 and earlier allows context-depende

CVE-2018-1000001 HIGH POC
7.8 Jan 31

In glibc 2.26 and earlier there is confusion in the usage of getcwd() by realpath() which can be used to write before th

CVE-2019-9169 CRITICAL POC
9.8 Feb 26

In the GNU C Library (aka glibc or libc6) through 2.29, proceed_next_node in posix/regexec.c has a heap-based buffer ove

CVE-2019-1010022 CRITICAL POC
9.8 Jul 15

GNU Libc current is affected by: Mitigation bypass. Rated critical severity (CVSS 9.8), this vulnerability is remotely e

CVE-2021-33574 CRITICAL POC
9.8 May 25

The mq_notify function in the GNU C Library (aka glibc) versions 2.32 and 2.33 has a use-after-free. Rated critical seve

CVE-2023-25139 CRITICAL POC
9.8 Feb 03

sprintf in the GNU C Library (glibc) 2.37 has a buffer overflow (out-of-bounds write) in some situations with a correct

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy