GHSA-R88M-3GH4-8VP3
Vulnerability from github – Published: 2026-05-08 15:31 – Updated: 2026-05-15 18:30In the Linux kernel, the following vulnerability has been resolved:
dm: remove fake timeout to avoid leak request
Since commit 15f73f5b3e59 ("blk-mq: move failure injection out of blk_mq_complete_request"), drivers are responsible for calling blk_should_fake_timeout() at appropriate code paths and opportunities.
However, the dm driver does not implement its own timeout handler and relies on the timeout handling of its slave devices.
If an io-timeout-fail error is injected to a dm device, the request will be leaked and never completed, causing tasks to hang indefinitely.
Reproduce: 1. prepare dm which has iscsi slave device 2. inject io-timeout-fail to dm echo 1 >/sys/class/block/dm-0/io-timeout-fail echo 100 >/sys/kernel/debug/fail_io_timeout/probability echo 10 >/sys/kernel/debug/fail_io_timeout/times 3. read/write dm 4. iscsiadm -m node -u
Result: hang task like below [ 862.243768] INFO: task kworker/u514:2:151 blocked for more than 122 seconds. [ 862.244133] Tainted: G E 6.19.0-rc1+ #51 [ 862.244337] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 862.244718] task:kworker/u514:2 state:D stack:0 pid:151 tgid:151 ppid:2 task_flags:0x4288060 flags:0x00080000 [ 862.245024] Workqueue: iscsi_ctrl_3:1 __iscsi_unbind_session [scsi_transport_iscsi] [ 862.245264] Call Trace: [ 862.245587] [ 862.245814] __schedule+0x810/0x15c0 [ 862.246557] schedule+0x69/0x180 [ 862.246760] blk_mq_freeze_queue_wait+0xde/0x120 [ 862.247688] elevator_change+0x16d/0x460 [ 862.247893] elevator_set_none+0x87/0xf0 [ 862.248798] blk_unregister_queue+0x12e/0x2a0 [ 862.248995] __del_gendisk+0x231/0x7e0 [ 862.250143] del_gendisk+0x12f/0x1d0 [ 862.250339] sd_remove+0x85/0x130 [sd_mod] [ 862.250650] device_release_driver_internal+0x36d/0x530 [ 862.250849] bus_remove_device+0x1dd/0x3f0 [ 862.251042] device_del+0x38a/0x930 [ 862.252095] __scsi_remove_device+0x293/0x360 [ 862.252291] scsi_remove_target+0x486/0x760 [ 862.252654] __iscsi_unbind_session+0x18a/0x3e0 [scsi_transport_iscsi] [ 862.252886] process_one_work+0x633/0xe50 [ 862.253101] worker_thread+0x6df/0xf10 [ 862.253647] kthread+0x36d/0x720 [ 862.254533] ret_from_fork+0x2a6/0x470 [ 862.255852] ret_from_fork_asm+0x1a/0x30 [ 862.256037]
Remove the blk_should_fake_timeout() check from dm, as dm has no native timeout handling and should not attempt to fake timeouts.
{
"affected": [],
"aliases": [
"CVE-2026-43314"
],
"database_specific": {
"cwe_ids": [
"CWE-772"
],
"github_reviewed": false,
"github_reviewed_at": null,
"nvd_published_at": "2026-05-08T14:16:39Z",
"severity": "MODERATE"
},
"details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm: remove fake timeout to avoid leak request\n\nSince commit 15f73f5b3e59 (\"blk-mq: move failure injection out of\nblk_mq_complete_request\"), drivers are responsible for calling\nblk_should_fake_timeout() at appropriate code paths and opportunities.\n\nHowever, the dm driver does not implement its own timeout handler and\nrelies on the timeout handling of its slave devices.\n\nIf an io-timeout-fail error is injected to a dm device, the request\nwill be leaked and never completed, causing tasks to hang indefinitely.\n\nReproduce:\n1. prepare dm which has iscsi slave device\n2. inject io-timeout-fail to dm\n echo 1 \u003e/sys/class/block/dm-0/io-timeout-fail\n echo 100 \u003e/sys/kernel/debug/fail_io_timeout/probability\n echo 10 \u003e/sys/kernel/debug/fail_io_timeout/times\n3. read/write dm\n4. iscsiadm -m node -u\n\nResult: hang task like below\n[ 862.243768] INFO: task kworker/u514:2:151 blocked for more than 122 seconds.\n[ 862.244133] Tainted: G E 6.19.0-rc1+ #51\n[ 862.244337] \"echo 0 \u003e /proc/sys/kernel/hung_task_timeout_secs\" disables this message.\n[ 862.244718] task:kworker/u514:2 state:D stack:0 pid:151 tgid:151 ppid:2 task_flags:0x4288060 flags:0x00080000\n[ 862.245024] Workqueue: iscsi_ctrl_3:1 __iscsi_unbind_session [scsi_transport_iscsi]\n[ 862.245264] Call Trace:\n[ 862.245587] \u003cTASK\u003e\n[ 862.245814] __schedule+0x810/0x15c0\n[ 862.246557] schedule+0x69/0x180\n[ 862.246760] blk_mq_freeze_queue_wait+0xde/0x120\n[ 862.247688] elevator_change+0x16d/0x460\n[ 862.247893] elevator_set_none+0x87/0xf0\n[ 862.248798] blk_unregister_queue+0x12e/0x2a0\n[ 862.248995] __del_gendisk+0x231/0x7e0\n[ 862.250143] del_gendisk+0x12f/0x1d0\n[ 862.250339] sd_remove+0x85/0x130 [sd_mod]\n[ 862.250650] device_release_driver_internal+0x36d/0x530\n[ 862.250849] bus_remove_device+0x1dd/0x3f0\n[ 862.251042] device_del+0x38a/0x930\n[ 862.252095] __scsi_remove_device+0x293/0x360\n[ 862.252291] scsi_remove_target+0x486/0x760\n[ 862.252654] __iscsi_unbind_session+0x18a/0x3e0 [scsi_transport_iscsi]\n[ 862.252886] process_one_work+0x633/0xe50\n[ 862.253101] worker_thread+0x6df/0xf10\n[ 862.253647] kthread+0x36d/0x720\n[ 862.254533] ret_from_fork+0x2a6/0x470\n[ 862.255852] ret_from_fork_asm+0x1a/0x30\n[ 862.256037] \u003c/TASK\u003e\n\nRemove the blk_should_fake_timeout() check from dm, as dm has no\nnative timeout handling and should not attempt to fake timeouts.",
"id": "GHSA-r88m-3gh4-8vp3",
"modified": "2026-05-15T18:30:30Z",
"published": "2026-05-08T15:31:23Z",
"references": [
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-43314"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/4f9e7ca933a9fbf9912a384b061a00c77332cbf0"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/6cdb21e0c9fdee484feba14fc9e72e9d07daf9f3"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/8200fca818c1e2f65bc6cb16d934ff6049302197"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/b307b6307f6459841312432bd4bc9519cbac97f5"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/c8a23d4c995ef4227bd4de64cd3910637ee6162e"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/cf2d06c9fd4b6521ea5b7f73c99c64c2c6f5e224"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/ece6720de9403260088209b0b92d45e0b49ff856"
},
{
"type": "WEB",
"url": "https://git.kernel.org/stable/c/f3a9c95a15d2f4466acad5c68faeff79ca5e9f47"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"type": "CVSS_V3"
}
]
}
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.