Lucene search

K
vulnrichmentLinuxVULNRICHMENT:CVE-2024-36000
HistoryMay 20, 2024 - 9:48 a.m.

CVE-2024-36000 mm/hugetlb: fix missing hugetlb_lock for resv uncharge

2024-05-2009:48:02
Linux
github.com
3
linux kernel
vulnerability
hugetlb
uffdio_copy

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial

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

mm/hugetlb: fix missing hugetlb_lock for resv uncharge

There is a recent report on UFFDIO_COPY over hugetlb:

https://lore.kernel.org/all/[email protected]/

350: lockdep_assert_held(&hugetlb_lock);

Should be an issue in hugetlb but triggered in an userfault context, where
it goes into the unlikely path where two threads modifying the resv map
together. Mike has a fix in that path for resv uncharge but it looks like
the locking criteria was overlooked: hugetlb_cgroup_uncharge_folio_rsvd()
will update the cgroup pointer, so it requires to be called with the lock
held.

CNA Affected

[
  {
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "vendor": "Linux",
    "product": "Linux",
    "versions": [
      {
        "status": "affected",
        "version": "79aa925bf239",
        "lessThan": "4c806333efea",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "79aa925bf239",
        "lessThan": "f6c5d21db16a",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "79aa925bf239",
        "lessThan": "538faabf31e9",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "79aa925bf239",
        "lessThan": "b76b46902c2d",
        "versionType": "git"
      }
    ],
    "programFiles": [
      "mm/hugetlb.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.10"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "5.10",
        "versionType": "custom"
      },
      {
        "status": "unaffected",
        "version": "6.1.91",
        "versionType": "custom",
        "lessThanOrEqual": "6.1.*"
      },
      {
        "status": "unaffected",
        "version": "6.6.30",
        "versionType": "custom",
        "lessThanOrEqual": "6.6.*"
      },
      {
        "status": "unaffected",
        "version": "6.8.9",
        "versionType": "custom",
        "lessThanOrEqual": "6.8.*"
      },
      {
        "status": "unaffected",
        "version": "6.9",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "mm/hugetlb.c"
    ],
    "defaultStatus": "affected"
  }
]

AI Score

6.7

Confidence

Low

SSVC

Exploitation

none

Automatable

no

Technical Impact

partial