Skip to content
Heist/ feed
High

mm: hugetlb: fix UAF in hugetlb_handle_userfault

Type: advisorySource: Official CVE List1 source record

In the Linux kernel, the following vulnerability has been resolved: mm: hugetlb: fix UAF in hugetlb_handle_userfault The vma_lock and hugetlb_fault_mutex are dropped before handling userfault and reacquire them again after handle_userfault(), but reacquire the vma_lock could lead to UAF[1,2] due to the following race, hugetlb_fault hugetlb_no_page /*unlock vma_lock */ hugetlb_handle_userfault handle_userfault /* unlock mm->mmap_lock*/ vm_mmap_pgoff do_mmap mmap_region munmap_vma_range /* clean old vma */ /* lock vma_lock again <--- UAF */ /* unlock vma_lock */ Since the vma_lock will unlock immediately after hugetlb_handle_userfault(), let's drop the unneeded lock and unlock in hugetlb_handle_userfault() to fix the issue. [1] https://lore.kernel.org/linux-mm/000000000000d5e00a05e834962e@google.com/ [2] https://lore.kernel.org/linux-mm/20220921014457.1668-1-liuzixian4@huawei.com/

Announced Group revision 1
Original source ↗

CVE-2022-50630

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-2022-50630

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": "1a1aad8a9b7bd34f60cdf98cd7915f00ae892c45",
        "lessThan": "45c33966759ea1b4040c08dacda99ef623c0ca29",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1a1aad8a9b7bd34f60cdf98cd7915f00ae892c45",
        "lessThan": "0db2efb3bff879566f05341d94c3de00ac95c4cc",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1a1aad8a9b7bd34f60cdf98cd7915f00ae892c45",
        "lessThan": "dd691973f67b2800a97db723b1ff6f07fdcf7f5a",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1a1aad8a9b7bd34f60cdf98cd7915f00ae892c45",
        "lessThan": "78504bcedb2f1bbfb353b4d233c24d641c4dda33",
        "versionType": "git"
      },
      {
        "status": "affected",
        "version": "1a1aad8a9b7bd34f60cdf98cd7915f00ae892c45",
        "lessThan": "958f32ce832ba781ac20e11bb2d12a9352ea28fc",
        "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": "4.11"
      },
      {
        "status": "unaffected",
        "version": "0",
        "lessThan": "4.11",
        "versionType": "semver"
      },
      {
        "status": "unaffected",
        "version": "5.10.150",
        "versionType": "semver",
        "lessThanOrEqual": "5.10.*"
      },
      {
        "status": "unaffected",
        "version": "5.15.75",
        "versionType": "semver",
        "lessThanOrEqual": "5.15.*"
      },
      {
        "status": "unaffected",
        "version": "5.19.17",
        "versionType": "semver",
        "lessThanOrEqual": "5.19.*"
      },
      {
        "status": "unaffected",
        "version": "6.0.3",
        "versionType": "semver",
        "lessThanOrEqual": "6.0.*"
      },
      {
        "status": "unaffected",
        "version": "6.1",
        "versionType": "original_commit_for_fix",
        "lessThanOrEqual": "*"
      }
    ],
    "programFiles": [
      "mm/hugetlb.c"
    ],
    "defaultStatus": "affected"
  }
]
Related CVEs
CVE-2022-50630

Source reference: /cveMetadata/cveId

Publisher severity

high

Source reference: /containers/cna/metrics

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