{
  "threat_severity" : "Moderate",
  "public_date" : "2025-11-12T00:00:00Z",
  "bugzilla" : {
    "description" : "kernel: blk-throttle: fix access race during throttle policy activation",
    "id" : "2414463",
    "url" : "https://bugzilla.redhat.com/show_bug.cgi?id=2414463"
  },
  "cvss3" : {
    "cvss3_base_score" : "6.2",
    "cvss3_scoring_vector" : "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
    "status" : "draft"
  },
  "cwe" : "CWE-476",
  "details" : [ "In the Linux kernel, the following vulnerability has been resolved:\nblk-throttle: fix access race during throttle policy activation\nOn repeated cold boots we occasionally hit a NULL pointer crash in\nblk_should_throtl() when throttling is consulted before the throttle\npolicy is fully enabled for the queue. Checking only q->td != NULL is\ninsufficient during early initialization, so blkg_to_pd() for the\nthrottle policy can still return NULL and blkg_to_tg() becomes NULL,\nwhich later gets dereferenced.\nUnable to handle kernel NULL pointer dereference\nat virtual address 0000000000000156\n...\npc : submit_bio_noacct+0x14c/0x4c8\nlr : submit_bio_noacct+0x48/0x4c8\nsp : ffff800087f0b690\nx29: ffff800087f0b690 x28: 0000000000005f90 x27: ffff00068af393c0\nx26: 0000000000080000 x25: 000000000002fbc0 x24: ffff000684ddcc70\nx23: 0000000000000000 x22: 0000000000000000 x21: 0000000000000000\nx20: 0000000000080000 x19: ffff000684ddcd08 x18: ffffffffffffffff\nx17: 0000000000000000 x16: ffff80008132a550 x15: 0000ffff98020fff\nx14: 0000000000000000 x13: 1fffe000d11d7021 x12: ffff000688eb810c\nx11: ffff00077ec4bb80 x10: ffff000688dcb720 x9 : ffff80008068ef60\nx8 : 00000a6fb8a86e85 x7 : 000000000000111e x6 : 0000000000000002\nx5 : 0000000000000246 x4 : 0000000000015cff x3 : 0000000000394500\nx2 : ffff000682e35e40 x1 : 0000000000364940 x0 : 000000000000001a\nCall trace:\nsubmit_bio_noacct+0x14c/0x4c8\nverity_map+0x178/0x2c8\n__map_bio+0x228/0x250\ndm_submit_bio+0x1c4/0x678\n__submit_bio+0x170/0x230\nsubmit_bio_noacct_nocheck+0x16c/0x388\nsubmit_bio_noacct+0x16c/0x4c8\nsubmit_bio+0xb4/0x210\nf2fs_submit_read_bio+0x4c/0xf0\nf2fs_mpage_readpages+0x3b0/0x5f0\nf2fs_readahead+0x90/0xe8\nTighten blk_throtl_activated() to also require that the throttle policy\nbit is set on the queue:\nreturn q->td != NULL &&\ntest_bit(blkcg_policy_throtl.plid, q->blkcg_pols);\nThis prevents blk_should_throtl() from accessing throttle group state\nuntil policy data has been attached to blkgs." ],
  "statement" : "A NULL pointer dereference in the block throttling path allowed the kernel to crash if blk_should_throtl() was invoked while the blk-throttle policy was only partially activated, so q->td was set but policy data was not fully attached and lookups returned NULL.\nA local actor who can trigger block I/O during or right after enabling blk-throttle (e.g. via cgroup configuration or during early boot on a throttled root device) could, in principle, cause a kernel panic, but exploitation requires a specific timing window and configuration.",
  "package_state" : [ {
    "product_name" : "Red Hat Enterprise Linux 10",
    "fix_state" : "Fix deferred",
    "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" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 7",
    "fix_state" : "Not affected",
    "package_name" : "kernel-rt",
    "cpe" : "cpe:/o:redhat:enterprise_linux:7"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "package_name" : "kernel",
    "cpe" : "cpe:/o:redhat:enterprise_linux:8"
  }, {
    "product_name" : "Red Hat Enterprise Linux 8",
    "fix_state" : "Not affected",
    "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",
    "cpe" : "cpe:/o:redhat:enterprise_linux:9"
  }, {
    "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-2025-40147\nhttps://nvd.nist.gov/vuln/detail/CVE-2025-40147\nhttps://lore.kernel.org/linux-cve-announce/2025111257-CVE-2025-40147-0afa@gregkh/T" ],
  "name" : "CVE-2025-40147",
  "csaw" : false
}