scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.25 % · percentile 16 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: scsi: ibmvfc: Remove BUG_ON in the case of an empty event pool In practice the driver should never send more commands than are allocated to a queue's event pool. In the unlikely event that this happens, the code asserts a BUG_ON, and in the case that the kernel is not configured to crash on panic returns a junk event pointer from the empty event list causing things to spiral from there. This BUG_ON is a historical artifact of the ibmvfc driver first being upstreamed, and it is well known now that the use of BUG_ON is bad practice except in the most unrecoverable scenario. There is nothing about this scenario that prevents the driver from recovering and carrying on. Remove the BUG_ON in question from ibmvfc_get_event() and return a NULL pointer in the case of an empty event pool. Update all call sites to ibmvfc_get_event() to check for a NULL pointer and perfrom the appropriate failure or recovery action.
Weaknesses (CWE)
- CWE-476 — NULL Pointer Dereference
References
- https://git.kernel.org/stable/c/e1d1f79b1929dce470a5dc9281c574cd58e8c6c0
- https://git.kernel.org/stable/c/88984ec4792766df5a9de7a2ff2b5f281f94c7d4
- https://git.kernel.org/stable/c/d2af4ef80601224b90630c1ddc7cd2c7c8ab4dd8
- https://git.kernel.org/stable/c/8bbe784c2ff28d56ca0c548aaf3e584edc77052d
- https://git.kernel.org/stable/c/b39f2d10b86d0af353ea339e5815820026bca48f
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | CISA-ADP |
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · 134c704f-9b21-4f2e-91b3-4a467353bcc0 (Secondary) |
European references
- ENISA EUVD · EUVD-2023-59528
- GCVE · GCVE-0-2023-52811
CERT-FR advisories
- CERTFR-2026-AVI-1165 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2024-AVI-1050 — Multiples vulnérabilités dans le noyau Linux de Red Hat · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0958 — Multiples vulnérabilités dans les produits IBM · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0717 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0693 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0668 — Multiples vulnérabilités dans le noyau Linux de Red Hat · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0632 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0631 — Multiples vulnérabilités dans le noyau Linux de Red Hat · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0526 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0496 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*< 5.15.140cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.16 < 6.1.64cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.2 < 6.5.13cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 6.6 < 6.6.3
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 < e1d1f79b1929dce470a5dc9281c574cd58e8c6c0 ; affected 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 < 88984ec4792766df5a9de7a2ff2b5f281f94c7d4 ; affected 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 < d2af4ef80601224b90630c1ddc7cd2c7c8ab4dd8 ; affected 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 < 8bbe784c2ff28d56ca0c548aaf3e584edc77052d ; affected 072b91f9c6510d0ec4a49d07dbc318760c7da7b3 < b39f2d10b86d0af353ea339e5815820026bca48f |
| Linux · Linux | affected 2.6.27 ; unaffected 0 < 2.6.27 ; unaffected 5.15.140 ≤ 5.15.* ; unaffected 6.1.64 ≤ 6.1.* ; unaffected 6.5.13 ≤ 6.5.* ; unaffected 6.6.3 ≤ 6.6.* |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |