☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Linux Kernel logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-190
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-97906

CVE-2026-97906 Integer Overflow in Linux
📅 PUBLISHED: 2026-09-25 00:00 UTC 🔄 UPDATED: 2026-10-03 04:52 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.21%
👁️
0.21% probability
5.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1499
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Global License: Open Source
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-97906 is an integer overflow vulnerability in the Linux kernel bootconfig subsystem, specifically within get_boot_config_from_initrd(), where a crafted initrd with an oversized bootconfig size (such as 0xFFFFFFFF) causes pointer arithmetic to wrap around and bypass an initrd_start bounds check. The flaw triggers a fatal kernel page fault during early boot via xbc_calc_checksum(), resulting in denial of service. Systems that parse untrusted or attacker-supplied initrd images during early boot are affected, though the attack surface is constrained by the requirement to control the initrd contents prior to boot.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability resides in the Linux kernel's bootconfig parsing logic, which extracts boot configuration data from a special segment embedded within an initrd (initial RAM disk). When the kernel processes an initrd, get_boot_config_from_initrd() locates the bootconfig footer, derives a size value, and computes the start of the bootconfig data with pointer arithmetic:

data = ((void *)hdr) - size;

The resulting pointer data is subsequently validated with:

if ((unsigned long)data < initrd_start)

This validation is intended to ensure the computed data pointer does not fall before the beginning of the initrd. However, when size is attacker-controlled and set to a very large value (such as 0xFFFFFFFF), the subtraction wraps around the address space. On 32-bit systems, ((void *)hdr) - size can wrap to an address that is numerically greater than initrd_start, causing the bounds check to evaluate to false and therefore pass. The kernel then invokes xbc_calc_checksum(data, size), which attempts to read approximately 4 GB of memory starting from the wrapped pointer. This access reaches unmapped pages and produces a fatal kernel page fault during early boot. On 64-bit systems, the same bypass can occur when the initrd is larger than 4.29 GB, because an unbounded 32-bit size value is not adequately constrained relative to available space.

The root cause is a classic integer/pointer overflow (CWE-190 family) in which a size value is not validated against a maximum constant or the available space before being used in pointer arithmetic. The fix described in the NVD entry addresses the issue by: (1) verifying the initrd is at least large enough to contain the bootconfig footer and that hdr lies within initrd bounds, and (2) ensuring size does not exceed XBC_DATA_MAX and does not exceed the available space between initrd_start and hdr before performing the subtraction.

Exploitation Scenarios

No public proof-of-concept or exploit code is available for CVE-2026-97906, and the attack chain below is inferred strictly from the vulnerability class (integer overflow in pointer arithmetic) and the NVD description. The attack surface is early boot processing of an initrd.

  1. Reconnaissance/target identification: An attacker identifies a target Linux system where they can influence or supply the initrd image used at boot — for example, in environments where boot artifacts are staged from shared or externally supplied storage, or where an attacker already has write access to boot media. Because bootconfig parsing occurs during early boot, the attacker must control the initrd before the kernel processes it.

  2. Triggering the flaw class: The attacker crafts an initrd containing a bootconfig footer that advertises a huge size value (for example, 0xFFFFFFFF). When the kernel executes get_boot_config_from_initrd(), the pointer arithmetic data = ((void *)hdr) - size wraps around. On 32-bit systems the wrap makes the subsequent if ((unsigned long)data < initrd_start) check pass incorrectly; on 64-bit systems with an initrd larger than 4.29 GB, an unbounded 32-bit size similarly bypasses the check.

  3. Payload/execution method at the vulnerability-class level: The crafted size value is the payload. There is no code execution primitive described; the impact is realized when the kernel calls xbc_calc_checksum(data, size) against the wrapped pointer, reading across unmapped memory and triggering a fatal kernel page fault.

  4. Post-exploitation impact: The result is a denial-of-service condition — a fatal page fault during early boot that prevents the system from completing initialization. No confidentiality or integrity impact is described in the NVD entry.

Impact Assessment

The primary impact is availability: a fatal kernel page fault during early boot that halts system initialization (denial of service). There is no described impact to confidentiality or integrity. The blast radius is limited to systems where an attacker can control or supply the initrd processed at boot; this typically requires existing access to boot artifacts or physical/logical control over boot media, which constrains exploitability (matching the high attack complexity implied by the local, high-privilege prerequisites). The provided CVSS vector is CVSS:3.1/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H, reflecting a local attack vector, high complexity, high privileges required, no user interaction, unchanged scope, no confidentiality or integrity impact, and high availability impact. No CVSS score, CWE mapping, or EPSS score was provided by the source data, and none is fabricated here.

Detection Guidance

Sigma Rule

title: Linux Kernel Bootconfig Integer Overflow Attempt (CVE-2026-97906)
id: 8f3c1a2e-4b7d-4c91-9e2a-1d6f0b3c7a55
status: experimental
description: Detects crafted initrd images containing oversized bootconfig size values that could trigger integer overflow in get_boot_config_from_initrd()
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-97906
author: Valters IT Threat Intelligence
date: 2026-01-01
logsource:
  product: linux
  category: file_event
detection:
  selection_bootconfig_footer:
    TargetFilename|endswith:
      - 'bootconfig'
      - 'initrd'
  selection_large_size:
    # Detection relies on scanning bootconfig footer size fields for abnormal values
    Image|contains: 'bootconfig'
  condition: selection_bootconfig_footer and selection_large_size
falsepositives:
  - Legitimate large initrd images
level: medium
tags:
  - attack.t1499

YARA Rule

rule CVE_2026_97906_Bootconfig_Overflow
{
    meta:
        description = "Detects bootconfig footer size fields with oversized values indicative of CVE-2026-97906 integer overflow attempts"
        author = "Valters IT Threat Intelligence"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-97906"
        date = "2026-01-01"

    strings:
        $magic = "#BOOTCONFIG" ascii
        $zero_checksum = { 00 00 00 00 }

    condition:
        $magic and uint32(0) == 0xFFFFFFFF
}

Suricata IDS Rule

alert udp any any -> any any (msg:"CVE-2026-97906 Linux Kernel Bootconfig Integer Overflow Oversized Initrd Size"; flow:stateless; dsize:>4; content:"|FF FF FF FF|"; depth:4; classtype:attempted-dos; sid:202697906; rev:1;)

Elastic Detection

process where process.name == "bootconfig" and
  process.args : "*#BOOTCONFIG*" and
  process.args : "*0xFFFFFFFF*"

Splunk SPL Query

index=linux sourcetype=syslog OR sourcetype=kernel
("bootconfig" OR "get_boot_config_from_initrd" OR "xbc_calc_checksum")
| search "size" OR "overflow" OR "initrd"
| stats count by host, _time, message
| where count > 0

Wazuh OSSEC Rule

<group name="linux,cve-2026-97906,">
  <rule id="100906" level="10">
    <decoded_as>syslog</decoded_as>
    <match>bootconfig</match>
    <match>overflow|initrd|page fault</match>
    <description>CVE-2026-97906: Linux kernel bootconfig integer overflow attempt detected</description>
    <mitre>
      <id>T1499</id>
    </mitre>
    <group>cve_2026_97906,</group>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

  1. Immediate mitigations: Restrict the ability to supply or modify initrd images and boot artifacts to trusted administrators only. Ensure boot media and staging locations where initrd images are stored are protected against external write access. Enable secure boot where available, and verify the integrity of initrd images before they are used at boot. Given the early-boot nature of the flaw, runtime workload-level mitigations are limited.

  2. Patch/upgrade steps: Apply the upstream Linux kernel fix titled "bootconfig: Fix integer overflow in initrd size check" once it is available in your distribution's kernel package. Because patch confidence is 0/4 and no patch sources were identified, verify the specific kernel version in which the vendor has shipped the fix before relying on a given release. Do not assume any distribution has shipped the patch.

  3. Long-term hardening: Track the upstream fix and apply vendor kernel updates promptly once released. Continue to treat boot artifacts as part of the trusted computing base. Enforce least-privilege access to boot configuration mechanisms. Monitor for unusual changes to initrd or bootconfig content.

References

  1. NVD — https://nvd.nist.gov/vuln/detail/CVE-2026-97906
  2. Linux Kernel Mailing List (LKML) — upstream patch discussion for "bootconfig: Fix integer overflow in initrd size check" (reference by title; no specific message ID provided in source data)
  3. Linux kernel bootconfig documentation (bootconfig subsystem behavior)
  4. FIRST.org EPSS — no EPSS score currently available for CVE-2026-97906
  5. CISA Known Exploited Vulnerabilities (KEV) — CVE-2026-97906 is not listed

No threat actor campaigns or exploit-in-the-wild evidence were identified in the provided data. No public PoC or exploit code is available.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Linux"
title:"Linux"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-97906/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.