{
  "threat_severity" : "Moderate",
  "public_date" : "2025-10-07T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: dm thin: Use last transaction's pmd->root when commit failed",
    "id" : "2402282",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2402282"
  },
  "cvss3" : {
    "cvss3_base_score" : "4.7",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H",
    "status" : "verified"
  },
  "details" : [ "In the Linux kernel, the following vulnerability has been resolved:\ndm thin: Use last transaction's pmd->root when commit failed\nRecently we found a softlock up problem in dm thin pool btree lookup\ncode due to corrupted metadata:\nKernel panic - not syncing: softlockup: hung tasks\nCPU: 7 PID: 2669225 Comm: kworker/u16:3\nHardware name: QEMU Standard PC (i440FX + PIIX, 1996)\nWorkqueue: dm-thin do_worker [dm_thin_pool]\nCall Trace:\n<IRQ>\ndump_stack+0x9c/0xd3\npanic+0x35d/0x6b9\nwatchdog_timer_fn.cold+0x16/0x25\n__run_hrtimer+0xa2/0x2d0\n</IRQ>\nRIP: 0010:__relink_lru+0x102/0x220 [dm_bufio]\n__bufio_new+0x11f/0x4f0 [dm_bufio]\nnew_read+0xa3/0x1e0 [dm_bufio]\ndm_bm_read_lock+0x33/0xd0 [dm_persistent_data]\nro_step+0x63/0x100 [dm_persistent_data]\nbtree_lookup_raw.constprop.0+0x44/0x220 [dm_persistent_data]\ndm_btree_lookup+0x16f/0x210 [dm_persistent_data]\ndm_thin_find_block+0x12c/0x210 [dm_thin_pool]\n__process_bio_read_only+0xc5/0x400 [dm_thin_pool]\nprocess_thin_deferred_bios+0x1a4/0x4a0 [dm_thin_pool]\nprocess_one_work+0x3c5/0x730\nFollowing process may generate a broken btree mixed with fresh and\nstale btree nodes, which could get dm thin trapped in an infinite loop\nwhile looking up data block:\nTransaction 1: pmd->root = A, A->B->C   // One path in btree\npmd->root = X, X->Y->Z   // Copy-up\nTransaction 2: X,Z is updated on disk, Y write failed.\n// Commit failed, dm thin becomes read-only.\nprocess_bio_read_only\ndm_thin_find_block\n__find_block\ndm_btree_lookup(pmd->root)\nThe pmd->root points to a broken btree, Y may contain stale node\npointing to any block, for example X, which gets dm thin trapped into\na dead loop while looking up Z.\nFix this by setting pmd->root in __open_metadata(), so that dm thin\nwill use the last transaction's pmd->root if commit failed.\nFetch a reproducer in [Link].\nLinke: https://bugzilla.kernel.org/show_bug.cgi?id=216790", "A metadata handling flaw was found in the Linux kernel device-mapper thin provisioning driver. After a failed metadata commit, the in-memory root pointer could reference a mixed set of fresh and stale tree nodes. Subsequent lookups may loop or stall. \nA local user could use this flaw to cause the thin-pool worker to hang, resulting in a denial of service on the host." ],
  "statement" : "If a transaction partially writes updated nodes and then fails, the pointer used for lookups may point into a broken tree. The correction reloads the last known good root at open time when a prior commit failed, so later reads do not traverse a corrupted path.",
  "affected_release" : [ {
    "product_name" : "Red Hat Enterprise Linux 8",
    "release_date" : "2023-05-16T00:00:00Z",
    "advisory" : "RHSA-2023:2951",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8",
    "package" : "kernel-0:4.18.0-477.10.1.el8_8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2023-05-09T00:00:00Z",
    "advisory" : "RHSA-2023:2458",
    "cpe" : "cpe:/a:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-284.11.1.el9_2"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2023-05-09T00:00:00Z",
    "advisory" : "RHSA-2023:2458",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-284.11.1.el9_2"
  } ],
  "package_state" : [ {
    "product_name" : "Red Hat Enterprise Linux 10",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:10"
  }, {
    "product_name" : "Red Hat Enterprise Linux 6",
    "fix_state" : "Out of support scope",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:6"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "fix_state" : "Fix deferred",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2022-50534\nhttps://nvd.nist.gov/vuln/detail/CVE-2022-50534\nhttps://lore.kernel.org/linux-cve-announce/2025100708-CVE-2022-50534-8900@gregkh/T" ],
  "name" : "CVE-2022-50534",
  "mitigation" : {
    "value" : "To mitigate this issue, prevent module dm_thin_pool from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically.",
    "lang" : "en:us"
  },
  "csaw" : false
}