]> git.ipfire.org Git - thirdparty/qemu.git/commit
hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330)
authorThomas Huth <thuth@redhat.com>
Mon, 22 May 2023 09:10:11 +0000 (11:10 +0200)
committerMichael Tokarev <mjt@tls.msk.ru>
Sun, 28 May 2023 09:02:26 +0000 (12:02 +0300)
commit9fe6e8139dc268f9916b8b7ce3ed9586c5354d11
tree263fb14579734ec6c736f619c4967a4e00eaae5b
parent49d5fc4cfc420145aa203d14345bd1da48df1c9b
hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330)

We cannot use the generic reentrancy guard in the LSI code, so
we have to manually prevent endless reentrancy here. The problematic
lsi_execute_script() function has already a way to detect whether
too many instructions have been executed - we just have to slightly
change the logic here that it also takes into account if the function
has been called too often in a reentrant way.

The code in fuzz-lsi53c895a-test.c has been taken from an earlier
patch by Mauro Matteo Cascella.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1563
Message-Id: <20230522091011.1082574-1-thuth@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>
(cherry picked from commit b987718bbb1d0eabf95499b976212dd5f0120d75)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
hw/scsi/lsi53c895a.c
tests/qtest/fuzz-lsi53c895a-test.c