CVE-2021-47203

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.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

27 Mar 2025, 21:15

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CWE CWE-787
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
References () https://git.kernel.org/stable/c/16bcbfb56d759c25665f786e33ec633b9508a08f - () https://git.kernel.org/stable/c/16bcbfb56d759c25665f786e33ec633b9508a08f - Patch
References () https://git.kernel.org/stable/c/814d3610c4ce86e8cf285b2cdac0057a42e82de5 - () https://git.kernel.org/stable/c/814d3610c4ce86e8cf285b2cdac0057a42e82de5 - Patch
References () https://git.kernel.org/stable/c/99154581b05c8fb22607afb7c3d66c1bace6aa5d - () https://git.kernel.org/stable/c/99154581b05c8fb22607afb7c3d66c1bace6aa5d - Patch
References () https://git.kernel.org/stable/c/ad4776b5eb2e58af1226847fcd3b4f6d051674dd - () https://git.kernel.org/stable/c/ad4776b5eb2e58af1226847fcd3b4f6d051674dd - Patch
References () https://git.kernel.org/stable/c/b291d147d0268e93ad866f8bc820ea14497abc9b - () https://git.kernel.org/stable/c/b291d147d0268e93ad866f8bc820ea14497abc9b - Patch
References () https://git.kernel.org/stable/c/c097bd5a59162156d9c2077a2f58732ffbaa9fca - () https://git.kernel.org/stable/c/c097bd5a59162156d9c2077a2f58732ffbaa9fca - Patch
References () https://git.kernel.org/stable/c/ec70d80a8642900086447ba0cdc79e3f44d42e8f - () https://git.kernel.org/stable/c/ec70d80a8642900086447ba0cdc79e3f44d42e8f - Patch
References () https://git.kernel.org/stable/c/f05a0191b90156e539cccc189b9d87ca2a4d9305 - () https://git.kernel.org/stable/c/f05a0191b90156e539cccc189b9d87ca2a4d9305 - Patch
First Time Linux
Linux linux Kernel

21 Nov 2024, 06:35

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/16bcbfb56d759c25665f786e33ec633b9508a08f - () https://git.kernel.org/stable/c/16bcbfb56d759c25665f786e33ec633b9508a08f -
References () https://git.kernel.org/stable/c/814d3610c4ce86e8cf285b2cdac0057a42e82de5 - () https://git.kernel.org/stable/c/814d3610c4ce86e8cf285b2cdac0057a42e82de5 -
References () https://git.kernel.org/stable/c/99154581b05c8fb22607afb7c3d66c1bace6aa5d - () https://git.kernel.org/stable/c/99154581b05c8fb22607afb7c3d66c1bace6aa5d -
References () https://git.kernel.org/stable/c/ad4776b5eb2e58af1226847fcd3b4f6d051674dd - () https://git.kernel.org/stable/c/ad4776b5eb2e58af1226847fcd3b4f6d051674dd -
References () https://git.kernel.org/stable/c/b291d147d0268e93ad866f8bc820ea14497abc9b - () https://git.kernel.org/stable/c/b291d147d0268e93ad866f8bc820ea14497abc9b -
References () https://git.kernel.org/stable/c/c097bd5a59162156d9c2077a2f58732ffbaa9fca - () https://git.kernel.org/stable/c/c097bd5a59162156d9c2077a2f58732ffbaa9fca -
References () https://git.kernel.org/stable/c/ec70d80a8642900086447ba0cdc79e3f44d42e8f - () https://git.kernel.org/stable/c/ec70d80a8642900086447ba0cdc79e3f44d42e8f -
References () https://git.kernel.org/stable/c/f05a0191b90156e539cccc189b9d87ca2a4d9305 - () https://git.kernel.org/stable/c/f05a0191b90156e539cccc189b9d87ca2a4d9305 -
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: scsi: lpfc: Se corrige la corrupción de list_add() en lpfc_drain_txq() Al analizar la lista txq en lpfc_drain_txq(), el controlador intenta pasar las solicitudes al adaptador. Si dicho intento falla, se establece una cadena "fail_msg" local y se genera un mensaje de registro. Luego, el trabajo se agrega a una lista de finalizaciones para su cancelación. El procesamiento de cualquier otro trabajo de la lista txq continúa, pero como "fail_msg" permanece establecido, los trabajos se agregan a la lista de finalizaciones independientemente de si se pasó un wqe al adaptador. Si se agrega correctamente a txcmplq, los trabajos se agregan a ambas listas, lo que da como resultado la corrupción de la lista. Se soluciona borrando la cadena fail_msg después de agregar un trabajo a la lista de finalizaciones. Esto evita que los trabajos posteriores se agreguen a la lista de finalizaciones a menos que hayan tenido una falla apropiada.

10 Apr 2024, 19:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-04-10 19:15

Updated : 2025-03-27 21:15


NVD link : CVE-2021-47203

Mitre link : CVE-2021-47203

CVE.ORG link : CVE-2021-47203


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-787

Out-of-bounds Write