Skip to content
Heist/ feed
High

ovl: fix double end_creating() on the casefold-mismatch path

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: ovl: fix double end_creating() on the casefold-mismatch path ovl_create_real() releases the new dentry twice when the casefold consistency check fails. The S_IFDIR branch calls end_creating() and sets err, then falls through to the common out: label which calls end_creating() on the same dentry again: case S_IFDIR: newdentry = ovl_do_mkdir(ofs, dir, newdentry, attr->mode); err = PTR_ERR_OR_ZERO(newdentry); if (!err && ofs->casefold != ovl_dentry_casefolded(newdentry)) { pr_warn_ratelimited(...); end_creating(newdentry); /* first */ err = -EINVAL; } break; ... if (err) goto out; ... out: if (err) { end_creating(newdentry); /* second, same dentry */ return ERR_PTR(err); } end_creating() is end_dirop(), which does inode_unlock() on the parent and dput() on the dentry, so the parent directory's i_rwsem is unlocked twice and the dentry is put twice. The second unlock releases a lock that is not held, which is what wedges every later creation under that parent, and the second dput() drops a reference that was never taken. The branch was added by commit dfc7da402ccc ("ovl: Check for casefold consistency when creating new dentries") as a bare dput(), which already released the reference twice; commit fe497f0759e0 ("VFS: change vfs_mkdir() to unlock on failure.") converted both sites to end_creating(), adding the double unlock. This is reachable by an unprivileged user. The casefold consistency of the layers is valida

Announced Group revision 1
Original source ↗

CVE-2026-89767

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: cve:CVE-2026-89767

Linux

Source reference: /containers/cna/affected/0/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Linux

Source reference: /containers/cna/affected/1/product

Affected versions
Not stated in this record
Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "dfc7da402ccc92d6e4b01a4778a3f15f2496b9af",
        "lessThan": "2fa220bc0f84597cb6de665e5b5021c5901ddf00",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dfc7da402ccc92d6e4b01a4778a3f15f2496b9af",
        "lessThan": "b1aa8ab78a8e87aee9e306971465408e059f839a",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "dfc7da402ccc92d6e4b01a4778a3f15f2496b9af",
        "lessThan": "077ab8985ee278c3d8618182d335b0f0cd919e16",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "fs/overlayfs/dir.c"
    ],
    "defaultStatus": "unaffected"
  },
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "6.18"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "6.18",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "6.18.51",
        "versionType": "semver",
        "lessThanOrEqual": "6.18.*"
      },
      {
        "status": "unaffected",
        "version": "7.2.4",
        "versionType": "semver",
        "lessThanOrEqual": "7.2.*"
      },
      {
        "status": "unaffected",
        "version": "7.3",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "fs/overlayfs/dir.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2026-89767

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

Event
#35235 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement