Lucene search

K
cvelistLinuxCVELIST:CVE-2024-38384
HistoryJun 24, 2024 - 1:50 p.m.

CVE-2024-38384 blk-cgroup: fix list corruption from reorder of WRITE ->lqueued

2024-06-2413:50:51
Linux
www.cve.org
9
linux kernel
vulnerability
fix
list corruption
reorder
write
lqueued
blk-cgroup
__blkcg_rstat_flush
next_bisc
barrier

EPSS

0

Percentile

15.6%

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

blk-cgroup: fix list corruption from reorder of WRITE ->lqueued

__blkcg_rstat_flush() can be run anytime, especially when blk_cgroup_bio_start
is being executed.

If WRITE of ->lqueued is re-ordered with READ of ‘bisc->lnode.next’ in
the loop of __blkcg_rstat_flush(), next_bisc can be assigned with one
stat instance being added in blk_cgroup_bio_start(), then the local
list in __blkcg_rstat_flush() could be corrupted.

Fix the issue by adding one barrier.

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "block/blk-cgroup.c"
    ],
    "versions": [
      {
        "version": "3b8cc6298724",
        "lessThan": "714e59b5456e",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "3b8cc6298724",
        "lessThan": "785298ab6b80",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "3b8cc6298724",
        "lessThan": "d0aac2363549",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "block/blk-cgroup.c"
    ],
    "versions": [
      {
        "version": "6.2",
        "status": "affected"
      },
      {
        "version": "0",
        "lessThan": "6.2",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.33",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.9.4",
        "lessThanOrEqual": "6.9.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.10",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]