s2
--:--:--UTC

Searching APEX

Starting…

  1. Searching Threats, IOCs & Threat Intelligence locally
  2. Querying external providers
  3. Asking AI Forensic Validator
  4. Creating new entry from validated hit

0s elapsed

CVE-2026-45912

📛 CVE Title

ext4: don't cache extent during splitting extent

Description

In the Linux kernel, the following vulnerability has been resolved: ext4: don't cache extent during splitting extent Caching extents during the splitting process is risky, as it may result in stale extents remaining in the status tree. Moreover, in most cases, the corresponding extent block entries are likely already cached before the split happens, making caching here not particularly useful. Assume we have an unwritten extent, and then DIO writes the first half. [UUUUUUUUUUUUUUUU] on-disk extent U: unwritten extent [UUUUUUUUUUUUUUUU] extent status tree |<- ->| ----> dio write this range First, when ext4_split_extent_at() splits this extent, it truncates the existing extent and then inserts a new one. During this process, this extent status entry may be shrunk, and calls to ext4_find_extent() and ext4_cache_extents() may occur, which could potentially insert the truncated range as a hole into the extent status tree. After the split is completed, this hole is not replaced with the correct status. [UUUUUUU|UUUUUUUU] on-disk extent U: unwritten extent [UUUUUUU|HHHHHHHH] extent status tree H: hole Then, the outer calling functions will not correct this remaining hole extent either. Finally, if we perform a delayed buffer write on this latter part, it will re-insert the delayed extent and cause an error in space accounting. In adition, if the unwritten extent cache is not shrunk during the splitting, ext4_cache_extents() also conflicts with existing extents when caching extents. In the future, we will add checks when caching extents, which will trigger a warning. Therefore, Do not cache extents that are being split.

Overview

State
PUBLISHED
Assigner (CNA)
Linux
CVSS severity
high
CVSS score
CVSS 7.1 / 10 7.1 7.1 / 10
CVSS vector
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Effective score
7.1 / 10 HIGH source: CNA overview
MSRC score
7.1 / 10 HIGH MS rating: Important
CWE(s)
Reserved
2026-05-13
Published
2026-05-27 12:17 UTC
Last updated
2026-05-30 10:41 UTC
Source
https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/45xxx/CVE-2026-45912.json
Linked Threat
CVE-2026-45912 — CVE-2026-45912

NVD triage scoring NVD CVE 2.0

Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.

NVD published
2026-05-27 14:17:05 UTC
NVD last modified
2026-06-24 14:55:11 UTC
NVD CVSS v3.1
CVSS 5.5 / 10 5.5 5.5 / 10 MEDIUM source: nvd@nist.gov
NVD CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Exploitability subscore
1.8 / 10
Impact subscore
3.6 / 10
EPSS score
0.0012 (probability of exploitation in next 30 days)
EPSS percentile
2.40% vs all CVEs — higher = more likely to be exploited, as of 2026-08-01

NVD / KEV / EPSS data refreshed 2026-08-01 17:13 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.

European Union Vulnerability Database ENISA EUVD

ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.

EUVD ID
EUVD-2026-32378
Assigner
Linux
Published
May 27, 2026, 12:17:27 PM
Updated
May 30, 2026, 10:41:46 AM
EUVD base score
0.0 / 10
EUVD-reported EPSS
0.1200
Vendors
Linux
Products
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <9a2b95cdaf07785e2739199037bd9c0863ccc1be)
Linux (patch: 6.19.4)
Linux (patch: 5.10.252)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <8302b5b4aacdbb378f7b1216bb2ee782b5142415)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <692103feca376ae4298c92aa8828015d20f1d87b)
Linux (patch: 5.15.202)
Linux (patch: 6.1.165)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <96007fd3c106aea773c1afae2d6f64cceb6da208)
Linux (3.12)
Linux (patch: 6.18.14)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <4c2d9dac4d328244f9365b0a1fa27ec802821820)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79)
Linux (patch: 0)
Linux (107a7bd31ac003e42c0f966aa8e5b26947de6024 <5b1f4290453314e11cd8e15c7baa8a9b76c19b23)
Linux (patch: 6.6.128)
Linux (patch: 6.12.75)
Linux (patch: 7.0)
Aliases
GHSA-2r5x-f6hq-8f5p

ENISA description: In the Linux kernel, the following vulnerability has been resolved: ext4: don't cache extent during splitting extent Caching extents during the splitting process is risky, as it may result in stale extents remaining in the status tree. Moreover, in most cases, the corresponding extent block entries are likely already cached before the split happens, making caching here not particularly useful. Assume we have an unwritten extent, and then DIO writes the first half. [UUUUUUUUUUUUUUUU] on-disk extent U: unwritten extent [UUUUUUUUUUUUUUUU] extent status tree |<- ->| ----> dio write this range First, when ext4_split_extent_at() splits this extent, it truncates the existing extent and then inserts a new one. During this process, this extent status entry may be shrunk, and calls to ext4_find_extent() and ext4_cache_extents() may occur, which could potentially insert the truncated range as a hole into the extent status tree. After the split is completed, this hole is not replaced with the correct status. [UUUUUUU|UUUUUUUU] on-disk extent U: unwritten extent [UUUUUUU|HHHHHHHH] extent status tree H: hole Then, the outer calling functions will not correct this remaining hole extent either. Finally, if we perform a delayed buffer write on this latter part, it will re-insert the delayed extent and cause an error in space accounting. In adition, if the unwritten extent cache is not shrunk during the splitting, ext4_cache_extents() also conflicts with existing extents when caching extents. In the future, we will add checks when caching extents, which will trigger a warning. Therefore, Do not cache extents that are being split.

EUVD references (8)

Microsoft Security Response Center MSRC

Microsoft's vendor-authoritative record from the Security Update Guide — its own CVSS score, impact, severity rating, exploit assessment, and KB-article fixes. Refreshed 2026-08-12 01:09 UTC (source: CVRF).

MS severity
Important
MS CVSS base score
7.1 / 10 (temporal 7.1)
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:H
Release
2026-May

Affected products (2)

VendorProductVersionsPlatforms
Linux Linux 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected), 107a7bd31ac003e42c0f966aa8e5b26947de6024 (affected)
Linux Linux 3.12 (affected), 0 (unaffected), 5.10.252 (unaffected), 5.15.202 (unaffected), 6.1.165 (unaffected), 6.6.128 (unaffected), 6.12.75 (unaffected), 6.18.14 (unaffected), 6.19.4 (unaffected), 7.0 (unaffected)

Affected products — CPE 2.3 (1) NVD

NVD's normalized CPE 2.3 matchers, used by vendor tools (vulnerability scanners, asset managers) for automated detection. Compare with the CNA's free-text "Affected products" section above.

  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

Vendor references (8)

References embedded in the original CVE record by the assigning CNA.

Web references (12)

DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.

NVD-tagged references (8)

Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.

Remediations (20)

Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.

  • web:access.redhat.com

    The mitigation methods below address both vulnerabilities that affect Red Hat products — CVE - 2026 -43284 (IPsec ESP) and CVE - 2026 -46300 (XFRM ESP-in-TCP). CVE - 2026 -43500 (rxrpc) does not affect Red Hat products and requires no mitigation .

    2026-06-04 00:15 UTC
  • web:officialfixdessertchocolatier.com

    Indulge in Dubai's viral chocolate bars with FIX Dessert Chocolatier. Shop our hero collection featuring Baklawa, Knafeh, Biscoff, and more. Fast delivery in Dubai & Abu Dhabi. Order now!

    2026-06-04 00:15 UTC
  • web:patch.com

    The best breaking news, stories, and events from the Patch network of local news sites

    2026-06-04 00:15 UTC
  • web:playvalorant.com

    VALORANT Patch Notes 11.11 Minor UI updates, Bug Fixes, VP gifting, and a festive surprise coming soon.

    2026-06-04 00:15 UTC
  • web:techcommunity.microsoft.com

    Exchange Online is not impacted by this vulnerability. Mitigations Option 1 (recommended): Exchange Emergency Mitigation (EM) Service For customers who have the Exchange EM Service enabled, Microsoft released the automatic mitigation for Exchange Server 2016, 2019 and SE. The mitigation is already published and is enabled automatically.

    2026-06-04 00:15 UTC
  • web:www.cve.org

    At cve .org, we provide the authoritative reference method for publicly known information-security vulnerabilities and exposures

    2026-06-04 00:15 UTC
  • web:www.oracle.com

    Oracle Critical Patch Update Advisory - January 2026 Description A Critical Patch Update is a collection of patches for multiple security vulnerabilities. These patches address vulnerabilities in Oracle code and in third party components included in Oracle products. These patches are usually cumulative, but each advisory describes only the security patches added since the previous Critical ...

    2026-06-04 00:15 UTC
  • web:www.patch.moe

    Age Verification Are you 18 years or older? YES NO

    2026-06-04 00:15 UTC
  • web:www.romhacking.net

    Add temporary header() Patch file: Apply patch Original ROM: Modified ROM: Patch type: IPS BPS PPF UPS APS RUP Create patch Settings Rom Patcher JS v2.9 by Marc Robledo See on GitHub Donate Language English Français Deutsch Italiano Español Nederlands Svenska Català Valencià Português Brasileiro Russian 日本語 中文(简体) 中文 ...

    2026-06-04 00:15 UTC
  • web:www.screwfix.com

    Screwfix offers a wide range of trade tools and hardware at competitive prices with convenient delivery and collection options.

    2026-06-04 00:15 UTC
  • web:learn.microsoft.com

    Windows 11, version 25H2 is now available for all eligible devices. Devices running Home and Pro editions of Windows 11 that are not managed by IT departments will receive the update to Windows 11, version 25H2 through the machine learning-based intelligent rollout.

    2026-06-19 02:27 UTC
  • web:nvd.nist.gov

    An official website of the United States government Here's how you know

    2026-06-19 02:27 UTC
  • web:portal.msrc.microsoft.com

    The Security Update Guide provides information on the latest Microsoft security updates, helping users understand and address potential vulnerabilities effectively.

    2026-06-19 02:27 UTC
  • web:www.oracle.com

    This Critical Patch Update contains 481 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at April 2026 Critical Patch Update: Executive Summary and Analysis.

    2026-06-19 02:27 UTC
  • web:www.oracle.com

    This Critical Security Patch Update contains 35 new security patches across the product families listed below. Please note that an MOS note summarizing the content of this Critical Security Patch Update and other Oracle Software Security Assurance activities is located at May 2026 Critical Security Patch Update: Executive Summary and Analysis.

    2026-06-19 02:27 UTC
  • web:www.pdq.com

    May 2026 Patch Tuesday is here, and PDQ is back with another recap. Will we see another month of increased CVE volume? Is AI to blame? Dive in to learn more.

    2026-06-19 02:27 UTC
  • web:www.rapid7.com

    Microsoft is publishing 200 vulnerabilities on June 2026 Patch Tuesday, including an HTTP/2 denial of service vulnerability and an elevation of privilege vulnerability in PowerToys.

    2026-06-19 02:27 UTC
  • web:www.tenable.com

    Oracle addresses 241 CVEs in its April Critical Patch Update, the second quarterly update of 2026 with 481 patches, including 34 critical updates.

    2026-06-19 02:27 UTC
  • web:www.vulncheck.com

    VulnCheck identified 25 CVEs disclosed in 2026 that have been routinely targeted by adversaries and researchers so far this year, drawing from a global body of exploit code and exploitation data.

    2026-06-19 02:27 UTC
  • web:zecurit.com

    Get the complete breakdown of Microsoft's June 2026 Patch Tuesday. We analyze the latest security updates and all critical CVEs .

    2026-06-19 02:27 UTC

AI Forensic Analysis

Only Available for Registered Users. Sign in to view.

Raw JSON

The full cvelistV5 record. Download as CVE-2026-45912.json.

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/extents.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "8302b5b4aacdbb378f7b1216bb2ee782b5142415",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "692103feca376ae4298c92aa8828015d20f1d87b",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "4c2d9dac4d328244f9365b0a1fa27ec802821820",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "96007fd3c106aea773c1afae2d6f64cceb6da208",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "5b1f4290453314e11cd8e15c7baa8a9b76c19b23",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "9a2b95cdaf07785e2739199037bd9c0863ccc1be",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            },
            {
              "lessThan": "8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79",
              "status": "affected",
              "version": "107a7bd31ac003e42c0f966aa8e5b26947de6024",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/extents.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.12"
            },
            {
              "lessThan": "3.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.252",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.202",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.165",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.128",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.75",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.14",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.19.*",
              "status": "unaffected",
              "version": "6.19.4",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.0",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.252",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.202",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.165",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.128",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.75",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.14",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.19.4",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0",
                  "versionStartIncluding": "3.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: don't cache extent during splitting extent\n\nCaching extents during the splitting process is risky, as it may result\nin stale extents remaining in the status tree. Moreover, in most cases,\nthe corresponding extent block entries are likely already cached before\nthe split happens, making caching here not particularly useful.\n\nAssume we have an unwritten extent, and then DIO writes the first half.\n\n  [UUUUUUUUUUUUUUUU] on-disk extent        U: unwritten extent\n  [UUUUUUUUUUUUUUUU] extent status tree\n  |<-   ->| ----> dio write this range\n\nFirst, when ext4_split_extent_at() splits this extent, it truncates the\nexisting extent and then inserts a new one. During this process, this\nextent status entry may be shrunk, and calls to ext4_find_extent() and\next4_cache_extents() may occur, which could potentially insert the\ntruncated range as a hole into the extent status tree. After the split\nis completed, this hole is not replaced with the correct status.\n\n  [UUUUUUU|UUUUUUUU] on-disk extent        U: unwritten extent\n  [UUUUUUU|HHHHHHHH] extent status tree    H: hole\n\nThen, the outer calling functions will not correct this remaining hole\nextent either. Finally, if we perform a delayed buffer write on this\nlatter part, it will re-insert the delayed extent and cause an error in\nspace accounting.\n\nIn adition, if the unwritten extent cache is not shrunk during the\nsplitting, ext4_cache_extents() also conflicts with existing extents\nwhen caching extents. In the future, we will add checks when caching\nextents, which will trigger a warning. Therefore, Do not cache extents\nthat are being split."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-05-30T10:41:46.666Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/8302b5b4aacdbb378f7b1216bb2ee782b5142415"
        },
        {
          "url": "https://git.kernel.org/stable/c/692103feca376ae4298c92aa8828015d20f1d87b"
        },
        {
          "url": "https://git.kernel.org/stable/c/4c2d9dac4d328244f9365b0a1fa27ec802821820"
        },
        {
          "url": "https://git.kernel.org/stable/c/93b2ebbbcb2e63cfc21a1946dfe91d3aa7952036"
        },
        {
          "url": "https://git.kernel.org/stable/c/96007fd3c106aea773c1afae2d6f64cceb6da208"
        },
        {
          "url": "https://git.kernel.org/stable/c/5b1f4290453314e11cd8e15c7baa8a9b76c19b23"
        },
        {
          "url": "https://git.kernel.org/stable/c/9a2b95cdaf07785e2739199037bd9c0863ccc1be"
        },
        {
          "url": "https://git.kernel.org/stable/c/8b4b19a2f96348d70bfa306ef7d4a13b0bcbea79"
        }
      ],
      "title": "ext4: don't cache extent during splitting extent",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-45912",
    "datePublished": "2026-05-27T12:17:27.805Z",
    "dateReserved": "2026-05-13T15:03:33.085Z",
    "dateUpdated": "2026-05-30T10:41:46.666Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}