Lucene search

K
cveLinuxCVE-2024-42304
HistoryAug 17, 2024 - 9:15 a.m.

CVE-2024-42304

2024-08-1709:15:10
Linux
web.nvd.nist.gov
34
linux kernel
ext4 vulnerability
cve-2024-42304
directory block
hole
filesystem
corrupted data

AI Score

6.7

Confidence

Low

EPSS

0

Percentile

13.7%

In the Linux kernel, the following vulnerability has been resolved:

ext4: make sure the first directory block is not a hole

The syzbot constructs a directory that has no dirblock but is non-inline,
i.e. the first directory block is a hole. And no errors are reported when
creating files in this directory in the following flow.

ext4_mknod
 ...
  ext4_add_entry
    // Read block 0
    ext4_read_dirblock(dir, block, DIRENT)
      bh = ext4_bread(NULL, inode, block, 0)
      if (!bh && (type == INDEX || type == DIRENT_HTREE))
      // The first directory block is a hole
      // But type == DIRENT, so no error is reported.

After that, we get a directory block without ‘.’ and ‘…’ but with a valid
dentry. This may cause some code that relies on dot or dotdot (such as
make_indexed_dir()) to crash.

Therefore when ext4_read_dirblock() finds that the first directory block
is a hole report that the filesystem is corrupted and return an error to
avoid loading corrupted data from disk causing something bad.

Affected configurations

Vulners
Node
linuxlinux_kernelRange5.34.19.320
OR
linuxlinux_kernelRange4.20.05.4.282
OR
linuxlinux_kernelRange5.5.05.10.224
OR
linuxlinux_kernelRange5.11.05.15.165
OR
linuxlinux_kernelRange5.16.06.1.103
OR
linuxlinux_kernelRange6.2.06.6.44
OR
linuxlinux_kernelRange6.7.06.10.3
OR
linuxlinux_kernelRange6.11.0
VendorProductVersionCPE
linuxlinux_kernel*cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/ext4/namei.c"
    ],
    "versions": [
      {
        "version": "3a17ca864baf",
        "lessThan": "d81d7e347d1f",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "e02f9941e8c0",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "de2a011a13a4",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "9771e3d8365a",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "b609753cbbd3",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "c3893d9de8ee",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "299bc6ffa57e",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "4e19d6b65fb4",
        "lessThan": "f9ca51596bbf",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "fs/ext4/namei.c"
    ],
    "versions": [
      {
        "version": "5.3",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "5.3",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "4.19.320",
        "lessThanOrEqual": "4.19.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.4.282",
        "lessThanOrEqual": "5.4.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.10.224",
        "lessThanOrEqual": "5.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "5.15.165",
        "lessThanOrEqual": "5.15.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.1.103",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.44",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10.3",
        "lessThanOrEqual": "6.10.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.11",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

AI Score

6.7

Confidence

Low

EPSS

0

Percentile

13.7%