Skip to main content

Linux Kernel CVE-2026-63825

| EUVDEUVD-2026-45491 CRITICAL
2026-07-19 Linux GHSA-xc4c-7263-hq9r
9.8
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

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

  1. Recon
    Reach IPsec/IPComp endpoint on instrumented kernel
  2. Delivery
    Send compressed IPComp packets
  3. Exploit
    Trigger concurrent inflate_fast() on multiple CPUs
  4. Install
    Race global gcov counter loads
  5. C2
    Compute out-of-bounds loop index
  6. Execute
    Write past decompression buffer
  7. Impact
    Kernel memory corruption / crash (DoS)

Vulnerability Assessment

Exploitation Conditions

The target kernel MUST be compiled with GCOV coverage instrumentation (CONFIG_GCOV_KERNEL/profiling) enabled - this is a non-default debug/coverage build option absent from virtually all production and distribution kernels. The observed trigger is IPComp (IP Payload Compression) decompression under IPsec (ipcomp_input → inflate_fast via zlib), so an active IPsec tunnel using compression must be present. Exploitation further requires genuine concurrent execution of inflate_fast() on multiple CPUs to win the timing-dependent data race on the shared global gcov counter. Limiting factors: without GCOV instrumentation the bug does not exist at all; without concurrent multi-CPU decompression the race does not fire; and it is only present on architectures where GCC merges the counter into loop induction variables. No user interaction or authentication is required on the affected path, but the non-default build requirement is the dominant limiter.

Impact

The feed's CVSS 9.8 (AV:N/AC:L/PR:N/UI:N, C:H/I:H/A:H) is the boilerplate maximal score auto-assigned to networking-reachable kernel bugs and materially overstates real-world risk here. Three signals argue against treating this as a top priority: (1) it is exploitable ONLY on kernels compiled with GCOV instrumentation, which is a debug/coverage build option and is essentially never enabled in production/distro kernels; (2) it is a timing-dependent data race requiring genuinely concurrent execution across CPUs, so attack complexity is high, not low; (3) EPSS is 0.17% (6th percentile), it is NOT on CISA KEV, and no POC is known. The tags label it Denial Of Service, consistent with the observed crash, though an uncontrolled OOB write could in principle corrupt kernel memory. The AC:L in the supplied vector conflicts with the description's race-condition requirement - I assess AC:H. Net: real but low-priority for the vast majority of deployments; only relevant to those running GCOV-instrumented kernels with IPsec/IPComp exposed.

Exploit ScenarioDerived

An attacker on a network path terminating an IPsec tunnel that uses IP Payload Compression sends compressed IPComp packets that are decompressed simultaneously across multiple CPUs on a GCOV-instrumented target kernel. The racing gcov counter loads inside inflate_fast() drive an out-of-bounds write megabytes past the decompression buffer, crashing the host (denial of service). No public POC is identified, and success depends on winning the multi-CPU race on a non-default instrumented build.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.2% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Jul 20, 2026

Out-of-bounds memory writes in the Linux kernel's gcov code-coverage instrumentation can corrupt memory and crash the system when inflate_fast() (zlib decompression) runs concurrently on multiple CPUs, most notably during IPComp/IPsec (xfrm_input) packet decompression. GCC merges the global GCOV branch counter with loop induction variables, so simultaneous execution reloads the shared counter mid-loop and computes an index that wrote ~3.4 MB past a 65 KB buffer. This only affects kernels built with GCOV profiling enabled; there is no public exploit identified at time of analysis and EPSS is very low (0.17%).

RemediationAI

Vendor-released patch: upgrade to Linux 6.18.38, 7.1.3, or later (7.2-rc1 in the development branch), which add -fprofile-update=prefer-atomic to CFLAGS_GCOV via the top-level Makefile try-run test; apply the corresponding stable commits from git.kernel.org (49d893b9, 5b959c1d, 56cb9b7d). Because the bug only manifests with coverage instrumentation, the most direct and no-cost compensating control is to build/run kernels with GCOV disabled (unset CONFIG_GCOV_KERNEL) - production and distro kernels already ship this way, so no action is needed for them; the trade-off is loss of kernel code-coverage data for developers. If you must run an instrumented kernel before patching, restrict or disable IPComp/IPsec compression (the observed trigger) to remove the concurrent inflate_fast() path, at the cost of losing payload compression on those tunnels. See https://nvd.nist.gov/vuln/detail/CVE-2026-63825 for references.

Affected VersionsENISA

Linux patch: 6.18.38
Linux patch: 7.1.3
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <5b959c1dbb4522b9e3ac4e26ad638b8784869841
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <56cb9b7d96b28a1173a510ab25354b6599ad3a33
Linux patch: 7.2-rc1
Linux 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 <49d893b9cbcfc5802a32e53a64c6c6956670d65b
Linux 0 <7.1.3
Linux 0 <6.18.38

Affected Packages

euvd linux fix: 6.18.38, 7.1.3

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 affected component is the kernel build's GCOV (GCC coverage) instrumentation, not zlib itself. When CONFIG_GCOV_KERNEL/GCOV profiling is compiled in, GCC inserts global branch counters (e.g. __gcov0.inflate_fast). As an optimization the compiler can fold a global counter into a hot loop's induction variable, emitting multiple loads of the same global to derive the loop base, start index, and end bound. Because GCOV counters are global rather than per-CPU, there is no synchronization: two CPUs executing the instrumented inflate_fast() concurrently race on the shared 64-bit counter, so the three loads observe inconsistent values and the loop indexes far outside the destination buffer. This is a classic data-race / concurrent-access class issue (no CWE assigned in the feed). The fix adds -fprofile-update=prefer-atomic to CFLAGS_GCOV (guarded by a try-run test so architectures lacking inlined 64-bit atomics, e.g. i386/arm64 outline-atomics, are skipped to avoid a libatomic dependency), forcing atomic counter updates on x86_64, s390, etc.

Know when the next one hits your stack

  • 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 (Linux) PRIMARY 9.8 CRITICAL
AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 6.5 MEDIUM

Network-reachable via IPComp with no auth (AV:N/PR:N/UI:N), but a timing-dependent multi-CPU race on a non-default GCOV build makes AC:H; impact is primarily crash (A:H) with limited uncontrolled corruption (I:L), no disclosure (C:N).

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

4
CVSS changed
Jul 20, 2026 - 15:22 NVD
9.8 (CRITICAL)
Patch available
Jul 19, 2026 - 14:17 EUVD
CVE Published
Jul 19, 2026 - 12:02 cve.org
CRITICAL 9.8
CVE Published
Jul 19, 2026 - 12:02 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

gcov: use atomic counter updates to fix concurrent access crashes

GCC's GCOV instrumentation can merge global branch counters with loop induction variables as an optimization. In inflate_fast(), the inner copy loops get transformed so that the GCOV counter value is loaded multiple times to compute the loop base address, start index, and end bound. Since GCOV counters are global (not per-CPU), concurrent execution on different CPUs causes the counter to change between loads, producing inconsistent values and out-of-bounds memory writes.

The crash manifests during IPComp (IP Payload Compression) processing when inflate_fast() runs concurrently on multiple CPUs:

BUG: unable to handle page fault for address: ffffd0a3c0902ffa RIP: inflate_fast+1431 Call Trace: zlib_inflate __deflate_decompress crypto_comp_decompress ipcomp_decompress [xfrm_ipcomp] ipcomp_input [xfrm_ipcomp] xfrm_input

At the crash point, the compiler generated three loads from the same global GCOV counter (__gcov0.inflate_fast+216) to compute base, start, and end for an indexed loop. Another CPU modified the counter between loads, making the values inconsistent - the write went 3.4 MB past a 65 KB buffer.

Add -fprofile-update=prefer-atomic to CFLAGS_GCOV at the global level in the top-level Makefile, guarded by a try-run compile test. The test compiles a minimal program with and without -fprofile-update=prefer-atomic using the full KBUILD_CFLAGS, then compares undefined symbols in the resulting object files. If prefer-atomic introduces new undefined references (such as __atomic_fetch_add_8 on i386 or __aarch64_ldadd8_relax on arm64 with outline-atomics), the flag is not added -- the kernel does not link against libatomic.

On architectures where GCC inlines 64-bit atomic counter updates (x86_64, s390, ...) the test passes and the flag is enabled, preventing the compiler from merging counters with loop induction variables and fixing the observed concurrent-access crash.

On architectures where the flag would introduce libatomic dependencies, it is silently omitted and behaviour is no worse than before this patch.

Move the CFLAGS_GCOV block from its original position (before the arch Makefile include) to after the core KBUILD_CFLAGS assignments but before the scripts/Makefile.gcc-plugins include. This placement ensures the try-run test sees arch-specific flags (-m32, -march=, -mno-outline-atomics) while avoiding GCC plugin flags (-fplugin=) that would break the test on clean builds when plugin shared objects do not yet exist.

Executive ViewAI

Why It Matters

A critical kernel memory corruption vulnerability (CVE-2026-63825) affects Linux systems compiled with GCOV code-coverage profiling, where concurrent packet decompression can write beyond buffer boundaries and crash the system. This vulnerability exclusively impacts development and profiling environments-standard production kernel builds are unaffected, limiting organizational risk despite the critical severity rating.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 94% exploitable
Prevalence
Low
only GCOV-instrumented kernels affected; such coverage builds are rare in production
Data Quality
6 sources
Confidence: High

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 CRITICAL
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
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
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

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