ide: ahci: add check to avoid null dereference (CVE-2019-12067)
Fix CVE-2019-12067 AHCI emulator while committing DMA buffer in ahci_commit_buf() may do a NULL dereference if the command header 'ad->cur_cmd' is null. Add check to avoid it. Reported-by: Bugs SysSec <address@hidden> Signed-off-by: Prasad J Pandit <address@hidden> Signed-off-by: Jiajie Li <lijiajie11@huawei.com>
This commit is contained in:
parent
15f03c48a1
commit
a1066296f2
40
ide-ahci-add-check-to-avoid-null-dereference-CVE-201.patch
Normal file
40
ide-ahci-add-check-to-avoid-null-dereference-CVE-201.patch
Normal file
@ -0,0 +1,40 @@
|
||||
From c7fd5f3841f14c24e442fb6968c9f2d9e016f28a Mon Sep 17 00:00:00 2001
|
||||
From: Prasad J Pandit <address@hidden>
|
||||
Date: Mon, 21 Jun 2021 09:22:35 +0800
|
||||
Subject: [PATCH] ide: ahci: add check to avoid null dereference
|
||||
(CVE-2019-12067)
|
||||
|
||||
Fix CVE-2019-12067
|
||||
|
||||
AHCI emulator while committing DMA buffer in ahci_commit_buf()
|
||||
may do a NULL dereference if the command header 'ad->cur_cmd'
|
||||
is null. Add check to avoid it.
|
||||
|
||||
Reported-by: Bugs SysSec <address@hidden>
|
||||
Signed-off-by: Prasad J Pandit <address@hidden>
|
||||
|
||||
Signed-off-by: Jiajie Li <lijiajie11@huawei.com>
|
||||
---
|
||||
hw/ide/ahci.c | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
|
||||
index 6aaf66534a..a7be0ae4fe 100644
|
||||
--- a/hw/ide/ahci.c
|
||||
+++ b/hw/ide/ahci.c
|
||||
@@ -1455,8 +1455,10 @@ static void ahci_commit_buf(IDEDMA *dma, uint32_t tx_bytes)
|
||||
{
|
||||
AHCIDevice *ad = DO_UPCAST(AHCIDevice, dma, dma);
|
||||
|
||||
- tx_bytes += le32_to_cpu(ad->cur_cmd->status);
|
||||
- ad->cur_cmd->status = cpu_to_le32(tx_bytes);
|
||||
+ if (ad->cur_cmd) {
|
||||
+ tx_bytes += le32_to_cpu(ad->cur_cmd->status);
|
||||
+ ad->cur_cmd->status = cpu_to_le32(tx_bytes);
|
||||
+ }
|
||||
}
|
||||
|
||||
static int ahci_dma_rw_buf(IDEDMA *dma, int is_write)
|
||||
--
|
||||
2.27.0
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user