All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] hw/sd: sdhci: Fixes to CVE-2020-17380, CVE-2020-25085, CVE-2021-3409
@ 2021-02-16  3:46 Bin Meng
  2021-02-16  3:46 ` [PATCH v2 1/6] hw/sd: sdhci: Don't transfer any data when command time out Bin Meng
                   ` (6 more replies)
  0 siblings, 7 replies; 23+ messages in thread
From: Bin Meng @ 2021-02-16  3:46 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé,
	Mauro Matteo Cascella, Li Qiang, Alexander Bulekov,
	Alistair Francis, Prasad J Pandit, Bandan Das
  Cc: qemu-devel, qemu-block, qemu-stable

This series includes several fixes to CVE-2020-17380, CVE-2020-25085
and CVE-2021-3409 that are heap-based buffer overflow issues existing
in the sdhci model.

These CVEs are pretty much similar, and were filed using different
reproducers. With this series, current known reproducers I have
cannot be reproduced any more.

The implementation of this model still has some issues, e.g.: some codes
do not seem to strictly match the spec, but since this series only aimes
to address CVEs, such issue should be fixed in a separate series in the
future, if I have time :)

Changes in v2:
- new patch: sdhci: Limit block size only when SDHC_BLKSIZE register is writable
- new patch: sdhci: Reset the data pointer of s->fifo_buffer[] when a different block size is programmed

Bin Meng (6):
  hw/sd: sdhci: Don't transfer any data when command time out
  hw/sd: sdhci: Don't write to SDHC_SYSAD register when transfer is in
    progress
  hw/sd: sdhci: Correctly set the controller status for ADMA
  hw/sd: sdhci: Simplify updating s->prnsts in
    sdhci_sdma_transfer_multi_blocks()
  hw/sd: sdhci: Limit block size only when SDHC_BLKSIZE register is
    writable
  hw/sd: sdhci: Reset the data pointer of s->fifo_buffer[] when a
    different block size is programmed

 hw/sd/sdhci.c | 60 ++++++++++++++++++++++++++++++++++++++---------------------
 1 file changed, 39 insertions(+), 21 deletions(-)

-- 
2.7.4



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2021-02-20  6:57 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-16  3:46 [PATCH v2 0/6] hw/sd: sdhci: Fixes to CVE-2020-17380, CVE-2020-25085, CVE-2021-3409 Bin Meng
2021-02-16  3:46 ` [PATCH v2 1/6] hw/sd: sdhci: Don't transfer any data when command time out Bin Meng
2021-02-18 16:25   ` Philippe Mathieu-Daudé
2021-02-18 16:46     ` Philippe Mathieu-Daudé
2021-02-18 23:33     ` Bin Meng
2021-02-16  3:46 ` [PATCH v2 2/6] hw/sd: sdhci: Don't write to SDHC_SYSAD register when transfer is in progress Bin Meng
2021-02-18 16:33   ` Philippe Mathieu-Daudé
2021-02-18 18:23   ` Philippe Mathieu-Daudé
2021-02-18 20:31     ` Philippe Mathieu-Daudé
2021-02-16  3:46 ` [PATCH v2 3/6] hw/sd: sdhci: Correctly set the controller status for ADMA Bin Meng
2021-02-18 16:50   ` Philippe Mathieu-Daudé
2021-02-16  3:46 ` [PATCH v2 4/6] hw/sd: sdhci: Simplify updating s->prnsts in sdhci_sdma_transfer_multi_blocks() Bin Meng
2021-02-17 15:39   ` Alexander Bulekov
2021-02-18 16:51   ` Philippe Mathieu-Daudé
2021-02-19 23:15   ` Philippe Mathieu-Daudé
2021-02-16  3:46 ` [PATCH v2 5/6] hw/sd: sdhci: Limit block size only when SDHC_BLKSIZE register is writable Bin Meng
2021-02-18 17:09   ` Philippe Mathieu-Daudé
2021-02-18 18:03     ` Philippe Mathieu-Daudé
2021-02-20  6:55       ` Bin Meng
2021-02-16  3:46 ` [PATCH v2 6/6] hw/sd: sdhci: Reset the data pointer of s->fifo_buffer[] when a different block size is programmed Bin Meng
2021-02-18 18:06   ` Philippe Mathieu-Daudé
2021-02-20  3:28     ` Bin Meng
2021-02-16 16:13 ` [PATCH v2 0/6] hw/sd: sdhci: Fixes to CVE-2020-17380, CVE-2020-25085, CVE-2021-3409 Alexander Bulekov

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.