CVE-2021-47203
scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq()
At a glance
- Source
- NVD
- EPSS
- EPSS 0.35 % · percentile 28 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Modified
Description
In the Linux kernel, the following vulnerability has been resolved: scsi: lpfc: Fix list_add() corruption in lpfc_drain_txq() When parsing the txq list in lpfc_drain_txq(), the driver attempts to pass the requests to the adapter. If such an attempt fails, a local "fail_msg" string is set and a log message output. The job is then added to a completions list for cancellation. Processing of any further jobs from the txq list continues, but since "fail_msg" remains set, jobs are added to the completions list regardless of whether a wqe was passed to the adapter. If successfully added to txcmplq, jobs are added to both lists resulting in list corruption. Fix by clearing the fail_msg string after adding a job to the completions list. This stops the subsequent jobs from being added to the completions list unless they had an appropriate failure.
Weaknesses (CWE)
- CWE-787 — Out-of-bounds Write
References
- https://git.kernel.org/stable/c/ad4776b5eb2e58af1226847fcd3b4f6d051674dd
- https://git.kernel.org/stable/c/ec70d80a8642900086447ba0cdc79e3f44d42e8f
- https://git.kernel.org/stable/c/f05a0191b90156e539cccc189b9d87ca2a4d9305
- https://git.kernel.org/stable/c/b291d147d0268e93ad866f8bc820ea14497abc9b
- https://git.kernel.org/stable/c/16bcbfb56d759c25665f786e33ec633b9508a08f
- https://git.kernel.org/stable/c/c097bd5a59162156d9c2077a2f58732ffbaa9fca
- https://git.kernel.org/stable/c/814d3610c4ce86e8cf285b2cdac0057a42e82de5
- https://git.kernel.org/stable/c/99154581b05c8fb22607afb7c3d66c1bace6aa5d
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | Linux |
| CVSS 3.1 | HIGH 8.8 | CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H | NVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary) |
| 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 · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2021-33851
- GCVE · GCVE-0-2021-47203
CERT-FR advisories
- CERTFR-2024-AVI-0458 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0440 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0420 — 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:*:*:*:*:*:*:*:*< 4.4.293cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.5 < 4.9.291cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.10 < 4.14.256cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.15 < 4.19.218cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 4.20 < 5.4.162cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.5 < 5.10.82cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.11 < 5.15.5
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < ad4776b5eb2e58af1226847fcd3b4f6d051674dd ; affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < ec70d80a8642900086447ba0cdc79e3f44d42e8f ; affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < f05a0191b90156e539cccc189b9d87ca2a4d9305 ; affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < b291d147d0268e93ad866f8bc820ea14497abc9b ; affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < 16bcbfb56d759c25665f786e33ec633b9508a08f ; affected 2a9bf3d011303d8da64cd5e0e7fdd95f0c143984 < c097bd5a59162156d9c2077a2f58732ffbaa9fca |
| Linux · Linux | affected 2.6.36 ; unaffected 0 < 2.6.36 ; unaffected 4.4.293 ≤ 4.4.* ; unaffected 4.9.291 ≤ 4.9.* ; unaffected 4.14.256 ≤ 4.14.* ; unaffected 4.19.218 ≤ 4.19.* |
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 |