CVE-2024-26601 (GCVE-0-2024-26601)
Vulnerability from cvelistv5
Published
2024-02-24 14:56
Modified
2026-08-05 11:26
Summary
In the Linux kernel, the following vulnerability has been resolved: ext4: regenerate buddy after block freeing failed if under fc replay This mostly reverts commit 6bd97bf273bd ("ext4: remove redundant mb_regenerate_buddy()") and reintroduces mb_regenerate_buddy(). Based on code in mb_free_blocks(), fast commit replay can end up marking as free blocks that are already marked as such. This causes corruption of the buddy bitmap so we need to regenerate it in that case.
Impacted products
Vendor Product Version
Linux Linux Version: 0983142c5f17a62055ec851372273c3bc77e4788
Version: 6bd97bf273bdb4944904e57480f6545bca48ad77
Version: 6bd97bf273bdb4944904e57480f6545bca48ad77
Version: 6bd97bf273bdb4944904e57480f6545bca48ad77
Version: 6bd97bf273bdb4944904e57480f6545bca48ad77
Version: 6bd97bf273bdb4944904e57480f6545bca48ad77
Version: 5.10.181   
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2024-26601",
                "options": [
                  {
                    "Exploitation": "none"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2024-03-01T15:48:58.021731Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2024-06-04T17:48:55.950Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "title": "CISA ADP Vulnrichment"
      },
      {
        "providerMetadata": {
          "dateUpdated": "2024-08-02T00:07:19.651Z",
          "orgId": "af854a3a-2127-422b-91ae-364da2661108",
          "shortName": "CVE"
        },
        "references": [
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/c1317822e2de80e78f137d3a2d99febab1b80326"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/78327acd4cdc4a1601af718b781eece577b6b7d4"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/ea42d6cffb0dd27a417f410b9d0011e9859328cb"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/6b0d48647935e4b8c7b75d1eccb9043fcd4ee581"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://git.kernel.org/stable/c/c9b528c35795b711331ed36dc3dbee90d5812d4e"
          },
          {
            "tags": [
              "x_transferred"
            ],
            "url": "https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html"
          }
        ],
        "title": "CVE Program Container"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/mballoc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a",
              "status": "affected",
              "version": "0983142c5f17a62055ec851372273c3bc77e4788",
              "versionType": "git"
            },
            {
              "lessThan": "c1317822e2de80e78f137d3a2d99febab1b80326",
              "status": "affected",
              "version": "6bd97bf273bdb4944904e57480f6545bca48ad77",
              "versionType": "git"
            },
            {
              "lessThan": "78327acd4cdc4a1601af718b781eece577b6b7d4",
              "status": "affected",
              "version": "6bd97bf273bdb4944904e57480f6545bca48ad77",
              "versionType": "git"
            },
            {
              "lessThan": "ea42d6cffb0dd27a417f410b9d0011e9859328cb",
              "status": "affected",
              "version": "6bd97bf273bdb4944904e57480f6545bca48ad77",
              "versionType": "git"
            },
            {
              "lessThan": "6b0d48647935e4b8c7b75d1eccb9043fcd4ee581",
              "status": "affected",
              "version": "6bd97bf273bdb4944904e57480f6545bca48ad77",
              "versionType": "git"
            },
            {
              "lessThan": "c9b528c35795b711331ed36dc3dbee90d5812d4e",
              "status": "affected",
              "version": "6bd97bf273bdb4944904e57480f6545bca48ad77",
              "versionType": "git"
            },
            {
              "lessThan": "5.10.211",
              "status": "affected",
              "version": "5.10.181",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ext4/mballoc.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.11"
            },
            {
              "lessThan": "5.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.211",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.150",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.78",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.17",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.7.*",
              "status": "unaffected",
              "version": "6.7.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.8",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.211",
                  "versionStartIncluding": "5.10.181",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.150",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.78",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.17",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.7.5",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.8",
                  "versionStartIncluding": "5.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\next4: regenerate buddy after block freeing failed if under fc replay\n\nThis mostly reverts commit 6bd97bf273bd (\"ext4: remove redundant\nmb_regenerate_buddy()\") and reintroduces mb_regenerate_buddy(). Based on\ncode in mb_free_blocks(), fast commit replay can end up marking as free\nblocks that are already marked as such. This causes corruption of the\nbuddy bitmap so we need to regenerate it in that case."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 7.8,
            "baseSeverity": "HIGH",
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:L - The vulnerable branch is only entered while `EXT4_FC_REPLAY` is set, i.e. during fast-commit journal recovery performed by the `mount()` syscall on a local block device or loop-mounted image. There is no network-facing consumer of this path.\nAC:L - The attacker fully authors the filesystem image \u2014 fast-commit DEL_RANGE tags, extent trees and block bitmaps \u2014 so arranging a free of an already-free block is deterministic, with no race or memory-layout condition outside their control.\nPR:L - An unprivileged local user supplies the crafted ext4 image via removable media or a loop/user-mountable device; udisks2-style automounters and autofs perform the mount, and mounting in a user namespace also reaches this code without real root.\nUI:N - Automount daemons mount attacker-supplied removable media without any action by another user, and the fc replay runs unconditionally during that mount.\nS:U - The corruption is confined to ext4\u0027s in-kernel allocator metadata and the mounted filesystem; it stays within the kernel\u0027s own security authority with no VM/IOMMU boundary crossed.\nC:H - A group left with an inflated `bb_free` and a stale buddy is not quarantined, so mballoc can hand the attacker blocks whose true state it has lost track of, exposing residual on-disk contents of other files; the inconsistent metadata is also read back out of bounds of what the bitmap actually describes.\nI:H - The block allocator\u0027s authoritative accounting is left corrupt and the group stays in service, so subsequent allocations write through aliased/incorrectly-tracked blocks, corrupting other files\u0027 data and on-disk filesystem metadata.\nA:H - The desynchronized buddy reaches `BUG_ON`s in `mb_mark_used()` and `MB_CHECK_ASSERT()` in `mb_check_buddy()`, and the `ext4_grp_locked_error()` paths panic outright because the crafted image\u0027s `s_errors` field can select `errors=panic`; at minimum the filesystem is forced read-only."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T11:26:11.866Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a"
        },
        {
          "url": "https://git.kernel.org/stable/c/c1317822e2de80e78f137d3a2d99febab1b80326"
        },
        {
          "url": "https://git.kernel.org/stable/c/78327acd4cdc4a1601af718b781eece577b6b7d4"
        },
        {
          "url": "https://git.kernel.org/stable/c/ea42d6cffb0dd27a417f410b9d0011e9859328cb"
        },
        {
          "url": "https://git.kernel.org/stable/c/6b0d48647935e4b8c7b75d1eccb9043fcd4ee581"
        },
        {
          "url": "https://git.kernel.org/stable/c/c9b528c35795b711331ed36dc3dbee90d5812d4e"
        }
      ],
      "title": "ext4: regenerate buddy after block freeing failed if under fc replay",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2024-26601",
    "datePublished": "2024-02-24T14:56:56.324Z",
    "dateReserved": "2024-02-19T14:20:24.128Z",
    "dateUpdated": "2026-08-05T11:26:11.866Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CVE Program Container\", \"references\": [{\"url\": \"https://git.kernel.org/stable/c/94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/c1317822e2de80e78f137d3a2d99febab1b80326\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/78327acd4cdc4a1601af718b781eece577b6b7d4\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/ea42d6cffb0dd27a417f410b9d0011e9859328cb\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/6b0d48647935e4b8c7b75d1eccb9043fcd4ee581\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://git.kernel.org/stable/c/c9b528c35795b711331ed36dc3dbee90d5812d4e\", \"tags\": [\"x_transferred\"]}, {\"url\": \"https://lists.debian.org/debian-lts-announce/2024/06/msg00017.html\", \"tags\": [\"x_transferred\"]}], \"providerMetadata\": {\"orgId\": \"af854a3a-2127-422b-91ae-364da2661108\", \"shortName\": \"CVE\", \"dateUpdated\": \"2024-08-02T00:07:19.651Z\"}}, {\"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2024-26601\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"none\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2024-03-01T15:48:58.021731Z\"}}}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2024-05-23T19:01:14.427Z\"}, \"title\": \"CISA ADP Vulnrichment\"}], \"cna\": {\"title\": \"ext4: regenerate buddy after block freeing failed if under fc replay\", \"metrics\": [{\"cvssV3_1\": {\"version\": \"3.1\", \"baseScore\": 7.8, \"baseSeverity\": \"HIGH\", \"vectorString\": \"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H\"}}], \"affected\": [{\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"0983142c5f17a62055ec851372273c3bc77e4788\", \"lessThan\": \"94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6bd97bf273bdb4944904e57480f6545bca48ad77\", \"lessThan\": \"c1317822e2de80e78f137d3a2d99febab1b80326\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6bd97bf273bdb4944904e57480f6545bca48ad77\", \"lessThan\": \"78327acd4cdc4a1601af718b781eece577b6b7d4\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6bd97bf273bdb4944904e57480f6545bca48ad77\", \"lessThan\": \"ea42d6cffb0dd27a417f410b9d0011e9859328cb\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6bd97bf273bdb4944904e57480f6545bca48ad77\", \"lessThan\": \"6b0d48647935e4b8c7b75d1eccb9043fcd4ee581\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"6bd97bf273bdb4944904e57480f6545bca48ad77\", \"lessThan\": \"c9b528c35795b711331ed36dc3dbee90d5812d4e\", \"versionType\": \"git\"}, {\"status\": \"affected\", \"version\": \"5.10.181\", \"lessThan\": \"5.10.211\", \"versionType\": \"semver\"}], \"programFiles\": [\"fs/ext4/mballoc.c\"], \"defaultStatus\": \"unaffected\"}, {\"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\", \"vendor\": \"Linux\", \"product\": \"Linux\", \"versions\": [{\"status\": \"affected\", \"version\": \"5.11\"}, {\"status\": \"unaffected\", \"version\": \"0\", \"lessThan\": \"5.11\", \"versionType\": \"semver\"}, {\"status\": \"unaffected\", \"version\": \"5.10.211\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.10.*\"}, {\"status\": \"unaffected\", \"version\": \"5.15.150\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"5.15.*\"}, {\"status\": \"unaffected\", \"version\": \"6.1.78\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.1.*\"}, {\"status\": \"unaffected\", \"version\": \"6.6.17\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.6.*\"}, {\"status\": \"unaffected\", \"version\": \"6.7.5\", \"versionType\": \"semver\", \"lessThanOrEqual\": \"6.7.*\"}, {\"status\": \"unaffected\", \"version\": \"6.8\", \"versionType\": \"original_commit_for_fix\", \"lessThanOrEqual\": \"*\"}], \"programFiles\": [\"fs/ext4/mballoc.c\"], \"defaultStatus\": \"affected\"}], \"references\": [{\"url\": \"https://git.kernel.org/stable/c/94ebf71bddbcd4ab1ce43ae32c6cb66396d2d51a\"}, {\"url\": \"https://git.kernel.org/stable/c/c1317822e2de80e78f137d3a2d99febab1b80326\"}, {\"url\": \"https://git.kernel.org/stable/c/78327acd4cdc4a1601af718b781eece577b6b7d4\"}, {\"url\": \"https://git.kernel.org/stable/c/ea42d6cffb0dd27a417f410b9d0011e9859328cb\"}, {\"url\": \"https://git.kernel.org/stable/c/6b0d48647935e4b8c7b75d1eccb9043fcd4ee581\"}, {\"url\": \"https://git.kernel.org/stable/c/c9b528c35795b711331ed36dc3dbee90d5812d4e\"}], \"x_generator\": {\"engine\": \"bippy-1.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"In the Linux kernel, the following vulnerability has been resolved:\\n\\next4: regenerate buddy after block freeing failed if under fc replay\\n\\nThis mostly reverts commit 6bd97bf273bd (\\\"ext4: remove redundant\\nmb_regenerate_buddy()\\\") and reintroduces mb_regenerate_buddy(). Based on\\ncode in mb_free_blocks(), fast commit replay can end up marking as free\\nblocks that are already marked as such. This causes corruption of the\\nbuddy bitmap so we need to regenerate it in that case.\"}], \"cpeApplicability\": [{\"nodes\": [{\"negate\": false, \"cpeMatch\": [{\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.10.211\", \"versionStartIncluding\": \"5.10.181\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"5.15.150\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.1.78\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.6.17\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.7.5\", \"versionStartIncluding\": \"5.11\"}, {\"criteria\": \"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*\", \"vulnerable\": true, \"versionEndExcluding\": \"6.8\", \"versionStartIncluding\": \"5.11\"}], \"operator\": \"OR\"}]}], \"providerMetadata\": {\"orgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"shortName\": \"Linux\", \"dateUpdated\": \"2026-08-04T09:19:17.288Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2024-26601\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2026-08-04T09:19:17.288Z\", \"dateReserved\": \"2024-02-19T14:20:24.128Z\", \"assignerOrgId\": \"416baaa9-dc9f-4396-8d5f-8c081fb06d67\", \"datePublished\": \"2024-02-24T14:56:56.324Z\", \"assignerShortName\": \"Linux\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…