{
  "threat_severity" : "Low",
  "public_date" : "2024-04-03T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: md: Don't ignore read-only array in md_check_recovery()",
    "id" : "2273208",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2273208"
  },
  "cvss3" : {
    "cvss3_base_score" : "4.4",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:L/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H",
    "status" : "verified"
  },
  "cwe" : "CWE-20",
  "details" : [ "In the Linux kernel, the following vulnerability has been resolved:\nmd: Don't ignore read-only array in md_check_recovery()\nUsually if the array is not read-write, md_check_recovery() won't\nregister new sync_thread in the first place. And if the array is\nread-write and sync_thread is registered, md_set_readonly() will\nunregister sync_thread before setting the array read-only. md/raid\nfollow this behavior hence there is no problem.\nAfter commit f52f5c71f3d4 (\"md: fix stopping sync thread\"), following\nhang can be triggered by test shell/integrity-caching.sh:\n1) array is read-only. dm-raid update super block:\nrs_update_sbs\nro = mddev->ro\nmddev->ro = 0\n-> set array read-write\nmd_update_sb\n2) register new sync thread concurrently.\n3) dm-raid set array back to read-only:\nrs_update_sbs\nmddev->ro = ro\n4) stop the array:\nraid_dtr\nmd_stop\nstop_sync_thread\nset_bit(MD_RECOVERY_INTR, &mddev->recovery);\nmd_wakeup_thread_directly(mddev->sync_thread);\nwait_event(..., !test_bit(MD_RECOVERY_RUNNING, &mddev->recovery))\n5) sync thread done:\nmd_do_sync\nset_bit(MD_RECOVERY_DONE, &mddev->recovery);\nmd_wakeup_thread(mddev->thread);\n6) daemon thread can't unregister sync thread:\nmd_check_recovery\nif (!md_is_rdwr(mddev) &&\n!test_bit(MD_RECOVERY_NEEDED, &mddev->recovery))\nreturn;\n-> -> MD_RECOVERY_RUNNING can't be cleared, hence step 4 hang;\nThe root cause is that dm-raid manipulate 'mddev->ro' by itself,\nhowever, dm-raid really should stop sync thread before setting the\narray read-only. Unfortunately, I need to read more code before I\ncan refacter the handler of 'mddev->ro' in dm-raid, hence let's fix\nthe problem the easy way for now to prevent dm-raid regression.", "In the Linux kernel, the following vulnerability has been resolved:\nmd: Don&#39;t ignore read-only array in md_check_recovery()\nThe Linux kernel CVE team has assigned CVE-2024-26757 to this issue.\nUpstream advisory:\nhttps://lore.kernel.org/linux-cve-announce/2024040304-CVE-2024-26757-7f96@gregkh/T" ],
  "affected_release" : [ {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2024-11-12T00:00:00Z",
    "advisory" : "RHSA-2024:9315",
    "cpe" : "cpe:/a:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-503.11.1.el9_5"
  }, {
    "product_name" : "Red Hat Enterprise Linux 9",
    "release_date" : "2024-11-12T00:00:00Z",
    "advisory" : "RHSA-2024:9315",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9",
    "package" : "kernel-0:5.14.0-503.11.1.el9_5"
  } ],
  "package_state" : [ {
    "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" : "Out of support scope",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Out of support scope",
    "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",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "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" : "Affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  } ],
  "references" : [ "https://www.cve.org/CVERecord?id=CVE-2024-26757\nhttps://nvd.nist.gov/vuln/detail/CVE-2024-26757\nhttps://lore.kernel.org/linux-cve-announce/2024040304-CVE-2024-26757-7f96@gregkh/T" ],
  "name" : "CVE-2024-26757",
  "csaw" : false
}