{
  "schemaVersion": 1,
  "attribution": [
    {
      "source": "CISA Known Exploited Vulnerabilities",
      "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog",
      "licence": "US government work"
    },
    {
      "source": "GitHub Advisory Database",
      "url": "https://github.com/advisories",
      "licence": "CC BY 4.0"
    },
    {
      "source": "Have I Been Pwned",
      "url": "https://haveibeenpwned.com/",
      "licence": "CC BY 4.0"
    },
    {
      "source": "CVE Program (CVE records)",
      "url": "https://www.cve.org/Legal/TermsOfUse",
      "licence": "CVE Terms of Use",
      "notice": "Copyright © 1999-2026, The MITRE Corporation. CVE is a trademark and the CVE logo is a registered trademark of The MITRE Corporation.",
      "terms": "CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy."
    },
    {
      "source": "FIRST EPSS",
      "url": "https://www.first.org/epss/",
      "licence": "free to use; FIRST requests attribution"
    }
  ],
  "record": {
    "id": "CVE-2024-42105",
    "sourceURL": "https://www.cve.org/CVERecord?id=CVE-2024-42105",
    "idYear": 2024,
    "status": "PUBLISHED",
    "publishedAt": "2024-07-30T07:46:01.061Z",
    "updatedAt": "2026-08-05T11:35:38.984Z",
    "importedAt": "2026-10-24T01:57:16.009Z",
    "snapshot": {
      "id": "cve_2026-10-24_midnight_baseline",
      "at": "2026-10-24T00:00:00.000Z",
      "source": "https://github.com/CVEProject/cvelistV5/releases/tag/cve_2026-10-24_0100Z"
    },
    "facts": {
      "title": "nilfs2: fix inode number range checks",
      "summary": "In the Linux kernel, the following vulnerability has been resolved:\n\nnilfs2: fix inode number range checks\n\nPatch series \"nilfs2: fix potential issues related to reserved inodes\".\n\nThis series fixes one use-after-free issue reported by syzbot, caused by\nnilfs2's internal inode being exposed in the namespace on a corrupted\nfilesystem, and a couple of flaws that cause problems if the starting\nnumber of non-reserved inodes written in the on-disk super block is\nintentionally (or corruptly) changed from its default value.  \n\n\nThis patch (of 3):\n\nIn the current implementation of nilfs2, \"nilfs->ns_first_ino\", which\ngives the first non-reserved inode number, is read from the superblock,\nbut its lower limit is not checked.\n\nAs a result, if a number that overlaps with the inode number range of\nreserved inodes such as the root directory or metadata files is set in the\nsuper block parameter, the inode number test macros (NILFS_MDT_INODE and\nNILFS_VALID_INODE) will not function properly.\n\nIn addition, these test macros use left bit-shift calculations using with\nthe inode number as the shift count via the BIT macro, but the result of a\nshift calculation that exceeds the bit width of an integer is undefined in\nthe C specification, so if \"ns_first_ino\" is set to a large value other\nthan the default value NILFS_USER_INO (=11), the macros may potentially\nmalfunction depending on the environment.\n\nFix these issues by checking the lower bound of \"nilfs->ns_first_ino\" and\nby preventing bit shifts equal to or greater than the NILFS_USER_INO\nconstant in the inode number test macros.\n\nAlso, change the type of \"ns_first_ino\" from signed integer to unsigned\ninteger to avoid the need for type casting in comparisons such as the\nlower bound check introduced this time.",
      "affected": [
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "57235c3c88bb430043728d0d02f44a4efe386476"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "08cab183a624ba71603f3754643ae11cab34dbc4"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "731011ac6c37cbe97ece229fc6daa486276052c5"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "3be4dcc8d7bea52ea41f87aa4bbf959efe7a5987"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "fae1959d6ab2c52677b113935e36ab4e25df37ea"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "9194f8ca57527958bee207919458e372d638d783"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "1c91058425a01131ea30dda6cf43c67b17884d6a"
            },
            {
              "version": "8a9d2191e9f43bbcd256a9a6871bd73434c83f2f",
              "status": "affected",
              "versionType": "git",
              "lessThan": "e2fec219a36e0993642844be0f345513507031f4"
            }
          ]
        },
        {
          "vendor": "Linux",
          "product": "Linux",
          "defaultStatus": "affected",
          "versions": [
            {
              "version": "2.6.30",
              "status": "affected"
            },
            {
              "version": "0",
              "status": "unaffected",
              "versionType": "semver",
              "lessThan": "2.6.30"
            },
            {
              "version": "4.19.318",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "version": "5.4.280",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "version": "5.10.222",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "version": "5.15.163",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "version": "6.1.98",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "version": "6.6.39",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "version": "6.9.9",
              "status": "unaffected",
              "versionType": "semver",
              "lessThanOrEqual": "6.9.*"
            },
            {
              "version": "6.10",
              "status": "unaffected",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ]
        }
      ]
    }
  }
}