CVE-2026-72159 (GCVE-0-2026-72159)

Vulnerability from cvelistv5 – Published: 2026-08-15 05:53 – Updated: 2026-08-17 05:09
VLAI
Title
ocfs2: reject non-inline dinodes with i_size and zero i_clusters
Summary
In the Linux kernel, the following vulnerability has been resolved: ocfs2: reject non-inline dinodes with i_size and zero i_clusters On a volume mounted without OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC, a non-inline regular file with non-zero i_size and zero i_clusters is structurally malformed: the extent map declares no allocated clusters yet the size header claims content exists. Keep rejecting that shape, but express it through a shared predicate so the same invariant is available to normal inode reads and online filecheck. The same zero-cluster shape is also malformed for non-inline directories. ocfs2 directory growth allocates backing storage before advancing i_size, and ocfs2_dir_foreach_blk_el() later walks until ctx->pos reaches i_size_read(inode). A forged directory dinode with a huge i_size and no clusters would repeatedly fail on holes while advancing through the claimed size. Sparse regular files remain exempt: on sparse-alloc volumes, truncate can legitimately grow i_size without allocating clusters. System inodes and inline-data dinodes also retain their separate storage rules. Mirror the check in ocfs2_filecheck_validate_inode_block() as well. filecheck reports through its own error namespace, so malformed size/cluster state is logged as a filecheck invalid-inode result rather than via ocfs2_error(), but it must not proceed into ocfs2_populate_inode().
Severity
No CVSS data available.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 416d3e5f8a30ed04fe21ba7dc73c2841c3b56265 (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < ed0f938f946f16b772e99cb8c277ab57828e5be4 (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 83f6756a7b71adec0a41ae68e079a38906d59c6c (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 38c1ef7ce50eb4af0f89038b8aba12396ddb9233 (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < d837068eefbc2651fe5789bf75a0f945710f7b8e (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 2174c68f623b74bd8690a4a6a4a52882d8ac3dc3 (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 3bfeb436d4be6a2beb56cab344770e93e6b07260 (git)
Affected: b657c95c11088d77fc1bfc9c84d940f778bf9d12 , < 7ebc672fab7a76e1e47e0f2fc1ee48118d27fde4 (git)
guessed Create a notification for this product.
Linux Linux Affected: 2.6.29
Unaffected: 0 , < 2.6.29 (semver)
Unaffected: 5.10.261 , ≤ 5.10.* (semver)
Unaffected: 5.15.212 , ≤ 5.15.* (semver)
Unaffected: 6.1.178 , ≤ 6.1.* (semver)
Unaffected: 6.6.145 , ≤ 6.6.* (semver)
Unaffected: 6.12.97 , ≤ 6.12.* (semver)
Unaffected: 6.18.40 , ≤ 6.18.* (semver)
Unaffected: 7.1.5 , ≤ 7.1.* (semver)
Unaffected: 7.2 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "fs/ocfs2/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "416d3e5f8a30ed04fe21ba7dc73c2841c3b56265",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "ed0f938f946f16b772e99cb8c277ab57828e5be4",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "83f6756a7b71adec0a41ae68e079a38906d59c6c",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "38c1ef7ce50eb4af0f89038b8aba12396ddb9233",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "d837068eefbc2651fe5789bf75a0f945710f7b8e",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "2174c68f623b74bd8690a4a6a4a52882d8ac3dc3",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "3bfeb436d4be6a2beb56cab344770e93e6b07260",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            },
            {
              "lessThan": "7ebc672fab7a76e1e47e0f2fc1ee48118d27fde4",
              "status": "affected",
              "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "fs/ocfs2/inode.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "2.6.29"
            },
            {
              "lessThan": "2.6.29",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.261",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.212",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.178",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.6.*",
              "status": "unaffected",
              "version": "6.6.145",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.97",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.40",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.1.*",
              "status": "unaffected",
              "version": "7.1.5",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.10.261",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "5.15.212",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.1.178",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.6.145",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.97",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.40",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1.5",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2",
                  "versionStartIncluding": "2.6.29",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: reject non-inline dinodes with i_size and zero i_clusters\n\nOn a volume mounted without OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC, a\nnon-inline regular file with non-zero i_size and zero i_clusters is\nstructurally malformed: the extent map declares no allocated clusters yet\nthe size header claims content exists.  Keep rejecting that shape, but\nexpress it through a shared predicate so the same invariant is available\nto normal inode reads and online filecheck.\n\nThe same zero-cluster shape is also malformed for non-inline directories. \nocfs2 directory growth allocates backing storage before advancing i_size,\nand ocfs2_dir_foreach_blk_el() later walks until ctx-\u003epos reaches\ni_size_read(inode).  A forged directory dinode with a huge i_size and no\nclusters would repeatedly fail on holes while advancing through the\nclaimed size.\n\nSparse regular files remain exempt: on sparse-alloc volumes, truncate can\nlegitimately grow i_size without allocating clusters.  System inodes and\ninline-data dinodes also retain their separate storage rules.\n\nMirror the check in ocfs2_filecheck_validate_inode_block() as well. \nfilecheck reports through its own error namespace, so malformed\nsize/cluster state is logged as a filecheck invalid-inode result rather\nthan via ocfs2_error(), but it must not proceed into\nocfs2_populate_inode()."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-17T05:09:19.690Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/416d3e5f8a30ed04fe21ba7dc73c2841c3b56265"
        },
        {
          "url": "https://git.kernel.org/stable/c/ed0f938f946f16b772e99cb8c277ab57828e5be4"
        },
        {
          "url": "https://git.kernel.org/stable/c/83f6756a7b71adec0a41ae68e079a38906d59c6c"
        },
        {
          "url": "https://git.kernel.org/stable/c/38c1ef7ce50eb4af0f89038b8aba12396ddb9233"
        },
        {
          "url": "https://git.kernel.org/stable/c/d837068eefbc2651fe5789bf75a0f945710f7b8e"
        },
        {
          "url": "https://git.kernel.org/stable/c/2174c68f623b74bd8690a4a6a4a52882d8ac3dc3"
        },
        {
          "url": "https://git.kernel.org/stable/c/3bfeb436d4be6a2beb56cab344770e93e6b07260"
        },
        {
          "url": "https://git.kernel.org/stable/c/7ebc672fab7a76e1e47e0f2fc1ee48118d27fde4"
        }
      ],
      "title": "ocfs2: reject non-inline dinodes with i_size and zero i_clusters",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-72159",
    "datePublished": "2026-08-15T05:53:28.205Z",
    "dateReserved": "2026-08-09T03:40:39.909Z",
    "dateUpdated": "2026-08-17T05:09:19.690Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-72159",
      "date": "2026-09-21",
      "epss": "0.00211",
      "percentile": "0.11584"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "fs/ocfs2/inode.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "416d3e5f8a30ed04fe21ba7dc73c2841c3b56265",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "ed0f938f946f16b772e99cb8c277ab57828e5be4",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "83f6756a7b71adec0a41ae68e079a38906d59c6c",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "38c1ef7ce50eb4af0f89038b8aba12396ddb9233",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "d837068eefbc2651fe5789bf75a0f945710f7b8e",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2174c68f623b74bd8690a4a6a4a52882d8ac3dc3",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "3bfeb436d4be6a2beb56cab344770e93e6b07260",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "7ebc672fab7a76e1e47e0f2fc1ee48118d27fde4",
                    "status": "affected",
                    "version": "b657c95c11088d77fc1bfc9c84d940f778bf9d12",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "fs/ocfs2/inode.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "2.6.29"
                  },
                  {
                    "lessThan": "2.6.29",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.10.*",
                    "status": "unaffected",
                    "version": "5.10.261",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "5.15.*",
                    "status": "unaffected",
                    "version": "5.15.212",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.1.*",
                    "status": "unaffected",
                    "version": "6.1.178",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.6.*",
                    "status": "unaffected",
                    "version": "6.6.145",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.97",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.40",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.1.*",
                    "status": "unaffected",
                    "version": "7.1.5",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.2",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nocfs2: reject non-inline dinodes with i_size and zero i_clusters\n\nOn a volume mounted without OCFS2_FEATURE_INCOMPAT_SPARSE_ALLOC, a\nnon-inline regular file with non-zero i_size and zero i_clusters is\nstructurally malformed: the extent map declares no allocated clusters yet\nthe size header claims content exists.  Keep rejecting that shape, but\nexpress it through a shared predicate so the same invariant is available\nto normal inode reads and online filecheck.\n\nThe same zero-cluster shape is also malformed for non-inline directories. \nocfs2 directory growth allocates backing storage before advancing i_size,\nand ocfs2_dir_foreach_blk_el() later walks until ctx-\u003epos reaches\ni_size_read(inode).  A forged directory dinode with a huge i_size and no\nclusters would repeatedly fail on holes while advancing through the\nclaimed size.\n\nSparse regular files remain exempt: on sparse-alloc volumes, truncate can\nlegitimately grow i_size without allocating clusters.  System inodes and\ninline-data dinodes also retain their separate storage rules.\n\nMirror the check in ocfs2_filecheck_validate_inode_block() as well. \nfilecheck reports through its own error namespace, so malformed\nsize/cluster state is logged as a filecheck invalid-inode result rather\nthan via ocfs2_error(), but it must not proceed into\nocfs2_populate_inode()."
          }
        ],
        "id": "CVE-2026-72159",
        "lastModified": "2026-08-17T06:18:16.133",
        "metrics": {},
        "published": "2026-08-15T06:21:33.720",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/2174c68f623b74bd8690a4a6a4a52882d8ac3dc3"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/38c1ef7ce50eb4af0f89038b8aba12396ddb9233"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/3bfeb436d4be6a2beb56cab344770e93e6b07260"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/416d3e5f8a30ed04fe21ba7dc73c2841c3b56265"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/7ebc672fab7a76e1e47e0f2fc1ee48118d27fde4"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/83f6756a7b71adec0a41ae68e079a38906d59c6c"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/d837068eefbc2651fe5789bf75a0f945710f7b8e"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "url": "https://git.kernel.org/stable/c/ed0f938f946f16b772e99cb8c277ab57828e5be4"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Received"
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Moderate",
      "current_release_date": "2026-08-18T16:28:24+00:00",
      "cve": "CVE-2026-72159",
      "id": "CVE-2026-72159",
      "initial_release_date": "2026-08-15T00:00:00+00:00",
      "product_status:known_not_affected": "274",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: ocfs2: reject non-inline dinodes with i_size and zero i_clusters",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-72159.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "moderate",
      "current_release_date": "2026-08-31T13:29:50Z",
      "cve": "CVE-2026-72159",
      "id": "CVE-2026-72159",
      "initial_release_date": "2026-08-31T13:29:50Z",
      "product_status:known_affected": "321",
      "product_status:known_not_affected": "41",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-72159",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-72159.json",
      "version": "2"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…