drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock()
Key facts
- Attack vector
- Local
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-617.
Summary
In the Linux kernel, the following vulnerability has been resolved: drbd: fix "LOGIC BUG" in drbd_al_begin_io_nonblock() Even though we check that we "should" be able to do lc_get_cumulative() while holding the device->al_lock spinlock, it may still fail, if some other code path decided to do lc_try_lock() with bad timing. If that happened, we logged "LOGIC BUG for enr=...", but still did not return an error. The rest of the code now assumed that this request has references for the relevant activity log extents. The implcations are that during an active resync, mutual exclusivity of resync versus application IO is not guaranteed. And a potential crash at this point may not realizs that these extents could have been target of in-flight IO and would need to be resynced just in case. Also, once the request completes, it will give up activity log references it does not even hold, which will trigger a BUG_ON(refcnt == 0) in lc_put(). Fix: Do not crash the kernel for a condition that is harmless during normal operation: also catch "e->refcnt == 0", not only "e == NULL" when being noisy about "al_complete_io() called on inactive extent %u\n". And do not try to be smart and "guess" whether something will work, then be surprised when it does not. Deal with the fact that it may or may not work. If it does not, remember a possible "partially in activity log" state (only possible for requests that cross extent boundaries), and return an error code from drbd_al_begin_io_nonblock(). A latter call for the same request will then resume from where we left off.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 3.10 and later | 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7, 7.0 | Patch available | CNA |
- Linux VendorLinux Affected 3.10 and later Fixed in 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7, 7.0 Patch available CNA
CPE configurations NVD · 9
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 3.10.1 to before 5.10.253; 5.11 to before 5.15.203; 5.16 to before 6.1.167; 6.2 to before 6.6.130; 6.7 to before 6.12.77; 6.13 to before 6.18.17; 6.19 to before 6.19.7 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:3.10:-:*:*:*:*:*:* | 3.10 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | 7.0 rc1 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | 7.0 rc2 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | 7.0 rc3 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | 7.0 rc4 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | 7.0 rc5 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | 7.0 rc6 | Vulnerable | Linux |
| cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* | 7.0 rc7 | Vulnerable | Linux |
- cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 3.10.1 to before 5.10.253; 5.11 to before 5.15.203; 5.16 to before 6.1.167; 6.2 to before 6.6.130; 6.7 to before 6.12.77; 6.13 to before 6.18.17; 6.19 to before 6.19.7 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:3.10:-:*:*:*:*:*:* Versions 3.10 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* Versions 7.0 rc1 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* Versions 7.0 rc2 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* Versions 7.0 rc3 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* Versions 7.0 rc4 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* Versions 7.0 rc5 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* Versions 7.0 rc6 Vulnerable ·Linux
- cpe:2.3:o:linux:linux_kernel:7.0:rc7:*:*:*:*:*:* Versions 7.0 rc7 Vulnerable ·Linux
Remediation
- Fix · CNA Linux (Linux) Fixed in 5.10.253, 5.15.203, 6.1.167, 6.6.130, 6.12.77, 6.18.17, 6.19.7, 7.0
Vendor assessments
Red Hat
Not affected: 5 products
- Red Hat Enterprise Linux 10
- Red Hat Enterprise Linux 6
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat Enterprise Linux 9
Timeline
- 2026-10-02 Threatist record created from CVE-2026-23356
- 2026-10-03 Alias added: GHSA-rp6p-x9w7-2rqg
References
Patch 8
- https://git.kernel.org/stable/c/933d161baa3794547adee621c0bf52cbf2c1b3cd
- https://git.kernel.org/stable/c/cf01aa6288e1190f89865e765056e2a9d8190639
- https://git.kernel.org/stable/c/7752569fc78e89794ce28946529850282233f99d
- https://git.kernel.org/stable/c/e91d8d6565b7819d13dab21d4dbed5b45efba59b
- https://git.kernel.org/stable/c/eef1390125b660b8b61f9f227a03bb9c5e6d36a5
- https://git.kernel.org/stable/c/d1ef3aed4df2ef1fe46befd8f2da9a6ec5445508
- https://git.kernel.org/stable/c/f558e5404a72054b525dced1a0c66aa95a144153
- https://git.kernel.org/stable/c/ab140365fb62c0bdab22b2f516aff563b2559e3b
More Linux Kernel vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
- TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
Sources
- CVE-2026-23356 · CVE Program
- CVE-2026-23356 · NVD
- FIRST EPSS
- GHSA-rp6p-x9w7-2rqg · GitHub Advisory Database · CC BY 4.0
- CVE-2026-23356 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences