All of lore.kernel.org
 help / color / mirror / Atom feed
* [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
@ 2021-02-04 17:28 Alexander Bulekov
  2021-02-04 18:37   ` Alexander Bulekov
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Alexander Bulekov @ 2021-02-04 17:28 UTC (permalink / raw)
  To: qemu-devel

Public bug reported:

== Reproducer (build with --enable-sanitizers) ==

cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
-device megasas -device scsi-cd,drive=null0 \
-blockdev driver=null-co,read-zeroes=on,node-name=null0 \
-nographic -qtest stdio
outl 0xcf8 0x80000818
outl 0xcfc 0xc000
outl 0xcf8 0x80000804
outw 0xcfc 0x7
write 0x0 0x1 0x03
write 0x7 0x1 0x3f
write 0x10 0x1 0x03
write 0x20 0x1 0x55
write 0x21 0x1 0x10
write 0x28 0x1 0x10
write 0x30 0x1 0xff
write 0x31 0x1 0xff
write 0x32 0x1 0xff
write 0x33 0x1 0xff
write 0x34 0x1 0xff
write 0x35 0x1 0xff
write 0x36 0x1 0xff
write 0x37 0x1 0xff
write 0x3b 0x1 0x10
write 0x43 0x1 0x10
write 0x44 0x1 0x10
write 0x4f 0x1 0x10
write 0x53 0x1 0x10
write 0x5b 0x1 0x10
write 0x5f 0x1 0x10
write 0x67 0x1 0x10
write 0x6b 0x1 0x10
write 0x73 0x1 0x10
write 0x75 0x1 0x10
write 0x7d 0x1 0x10
write 0x83 0x1 0x10
write 0x8b 0x1 0x10
write 0x8f 0x1 0x10
write 0x97 0x1 0x10
write 0x9b 0x1 0x10
write 0xa3 0x1 0x03
write 0xa6 0x1 0x10
write 0xae 0x1 0x10
write 0xb3 0x1 0x10
write 0xbb 0x1 0x10
write 0xbf 0x1 0x10
write 0xc7 0x1 0x10
write 0xca 0x1 0x10
write 0xd3 0x1 0x06
write 0xd7 0x1 0x10
write 0xdf 0x1 0x10
write 0xe3 0x1 0x06
write 0xeb 0x1 0x01
write 0xef 0x1 0x10
write 0xf7 0x1 0x10
write 0xfb 0x1 0x10
write 0x103 0x1 0x20
write 0x107 0x1 0x10
write 0x10f 0x1 0x10
write 0x113 0x1 0x10
write 0x11b 0x1 0x10
write 0x11f 0x1 0x10
write 0x127 0x1 0x10
write 0x12b 0x1 0x10
write 0x130 0x1 0x10
write 0x137 0x1 0x10
write 0x13f 0x1 0x40
write 0x141 0x1 0x10
write 0x14b 0x1 0x10
write 0x14f 0x1 0x10
write 0x157 0x1 0x10
write 0x15b 0x1 0x10
write 0x161 0x1 0x10
write 0x167 0x1 0x03
write 0x16f 0x1 0x06
write 0x172 0x1 0x10
write 0x17b 0x1 0x10
write 0x17f 0x1 0x10
write 0x187 0x1 0x10
write 0x18b 0x1 0x10
write 0x192 0x1 0x10
write 0x197 0x1 0x06
write 0x19f 0x1 0x20
write 0x1a3 0x1 0x10
write 0x1ab 0x1 0x40
write 0x1af 0x1 0x01
write 0x1b7 0x1 0x10
write 0x1bb 0x1 0x20
write 0x1c3 0x1 0x10
write 0x1c7 0x1 0x20
write 0x1cc 0x1 0x10
write 0x1d3 0x1 0x10
write 0x1db 0x1 0x10
write 0x1df 0x1 0x10
write 0x1e7 0x1 0x10
write 0x1eb 0x1 0x10
write 0x1f3 0x1 0x10
write 0x1f4 0x1 0x10
write 0x1fd 0x1 0x10
write 0x203 0x1 0x40
write 0x20b 0x1 0x10
write 0x20f 0x1 0x10
write 0x217 0x1 0x10
write 0x21b 0x1 0x10
write 0x223 0x1 0x10
write 0x225 0x1 0x10
write 0x22e 0x1 0x10
write 0x233 0x1 0x06
write 0x23b 0x1 0x10
write 0x23f 0x1 0x10
write 0x247 0x1 0x10
write 0x24b 0x1 0x10
write 0x252 0x1 0x10
write 0x256 0x1 0x10
write 0x25f 0x1 0x10
write 0x263 0x1 0x20
write 0x26b 0x1 0x06
write 0x26f 0x1 0x40
write 0x277 0x1 0x10
write 0x27b 0x1 0x10
write 0x283 0x1 0x10
write 0x287 0x1 0x10
write 0x28f 0x1 0x10
write 0x290 0x1 0x10
write 0x29b 0x1 0x10
write 0x29f 0x1 0x10
write 0x2a7 0x1 0x10
write 0x2ab 0x1 0x10
write 0x2b3 0x1 0x10
write 0x2b7 0x1 0x10
write 0x2bf 0x1 0x10
write 0x2c1 0x1 0x10
write 0x2c9 0x1 0x10
write 0x2cf 0x1 0x10
write 0x2d7 0x1 0x10
write 0x2db 0x1 0x10
write 0x2e3 0x1 0x10
write 0x2e7 0x1 0x10
write 0x2ef 0x1 0x03
write 0x2f2 0x1 0x10
write 0x2fa 0x1 0x10
write 0x2ff 0x1 0x10
write 0x307 0x1 0x10
write 0x30b 0x1 0x10
write 0x313 0x1 0x10
write 0x316 0x1 0x10
write 0x31f 0x1 0x06
write 0x323 0x1 0x10
outb 0xc040 0x0
EOF

=== Stack Trace ===
==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
0x7ffd436e9770 sp 0x7ffd436e9768
READ of size 4 at 0x558f557253fc thread T0
SCARINESS: 17 (4-byte-read-global-buffer-overflow)
#0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
#1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
#2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
#3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
#4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
#5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
#6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
#7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
#8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
#9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
#10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
#11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
#12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
#13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
#14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
#15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
#16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
#17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
#18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
#19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
#20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  New

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions


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

* Re: [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
@ 2021-02-04 18:37   ` Alexander Bulekov
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Bulekov @ 2021-02-04 18:37 UTC (permalink / raw)
  To: Bug 1914638; +Cc: Fam Zheng, Paolo Bonzini, qemu-devel

+CC Paolo and Fam

scsi-disk.c:1092     static const int mode_sense_valid[0x3f] =
...
scsi-disk.c:1488          page = p[0] & 0x3f;

OSS-Fuzz found this same crash for virtio-scsi, however, since the
reproducer involved a double-fetch, I don't have a simple QTest
reproducer

On 210204 1728, Alexander Bulekov wrote:
> Public bug reported:
> 
> == Reproducer (build with --enable-sanitizers) ==
> 
> cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
> -device megasas -device scsi-cd,drive=null0 \
> -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
> -nographic -qtest stdio
> outl 0xcf8 0x80000818
> outl 0xcfc 0xc000
> outl 0xcf8 0x80000804
> outw 0xcfc 0x7
> write 0x0 0x1 0x03
> write 0x7 0x1 0x3f
> write 0x10 0x1 0x03
> write 0x20 0x1 0x55
> write 0x21 0x1 0x10
> write 0x28 0x1 0x10
> write 0x30 0x1 0xff
> write 0x31 0x1 0xff
> write 0x32 0x1 0xff
> write 0x33 0x1 0xff
> write 0x34 0x1 0xff
> write 0x35 0x1 0xff
> write 0x36 0x1 0xff
> write 0x37 0x1 0xff
> write 0x3b 0x1 0x10
> write 0x43 0x1 0x10
> write 0x44 0x1 0x10
> write 0x4f 0x1 0x10
> write 0x53 0x1 0x10
> write 0x5b 0x1 0x10
> write 0x5f 0x1 0x10
> write 0x67 0x1 0x10
> write 0x6b 0x1 0x10
> write 0x73 0x1 0x10
> write 0x75 0x1 0x10
> write 0x7d 0x1 0x10
> write 0x83 0x1 0x10
> write 0x8b 0x1 0x10
> write 0x8f 0x1 0x10
> write 0x97 0x1 0x10
> write 0x9b 0x1 0x10
> write 0xa3 0x1 0x03
> write 0xa6 0x1 0x10
> write 0xae 0x1 0x10
> write 0xb3 0x1 0x10
> write 0xbb 0x1 0x10
> write 0xbf 0x1 0x10
> write 0xc7 0x1 0x10
> write 0xca 0x1 0x10
> write 0xd3 0x1 0x06
> write 0xd7 0x1 0x10
> write 0xdf 0x1 0x10
> write 0xe3 0x1 0x06
> write 0xeb 0x1 0x01
> write 0xef 0x1 0x10
> write 0xf7 0x1 0x10
> write 0xfb 0x1 0x10
> write 0x103 0x1 0x20
> write 0x107 0x1 0x10
> write 0x10f 0x1 0x10
> write 0x113 0x1 0x10
> write 0x11b 0x1 0x10
> write 0x11f 0x1 0x10
> write 0x127 0x1 0x10
> write 0x12b 0x1 0x10
> write 0x130 0x1 0x10
> write 0x137 0x1 0x10
> write 0x13f 0x1 0x40
> write 0x141 0x1 0x10
> write 0x14b 0x1 0x10
> write 0x14f 0x1 0x10
> write 0x157 0x1 0x10
> write 0x15b 0x1 0x10
> write 0x161 0x1 0x10
> write 0x167 0x1 0x03
> write 0x16f 0x1 0x06
> write 0x172 0x1 0x10
> write 0x17b 0x1 0x10
> write 0x17f 0x1 0x10
> write 0x187 0x1 0x10
> write 0x18b 0x1 0x10
> write 0x192 0x1 0x10
> write 0x197 0x1 0x06
> write 0x19f 0x1 0x20
> write 0x1a3 0x1 0x10
> write 0x1ab 0x1 0x40
> write 0x1af 0x1 0x01
> write 0x1b7 0x1 0x10
> write 0x1bb 0x1 0x20
> write 0x1c3 0x1 0x10
> write 0x1c7 0x1 0x20
> write 0x1cc 0x1 0x10
> write 0x1d3 0x1 0x10
> write 0x1db 0x1 0x10
> write 0x1df 0x1 0x10
> write 0x1e7 0x1 0x10
> write 0x1eb 0x1 0x10
> write 0x1f3 0x1 0x10
> write 0x1f4 0x1 0x10
> write 0x1fd 0x1 0x10
> write 0x203 0x1 0x40
> write 0x20b 0x1 0x10
> write 0x20f 0x1 0x10
> write 0x217 0x1 0x10
> write 0x21b 0x1 0x10
> write 0x223 0x1 0x10
> write 0x225 0x1 0x10
> write 0x22e 0x1 0x10
> write 0x233 0x1 0x06
> write 0x23b 0x1 0x10
> write 0x23f 0x1 0x10
> write 0x247 0x1 0x10
> write 0x24b 0x1 0x10
> write 0x252 0x1 0x10
> write 0x256 0x1 0x10
> write 0x25f 0x1 0x10
> write 0x263 0x1 0x20
> write 0x26b 0x1 0x06
> write 0x26f 0x1 0x40
> write 0x277 0x1 0x10
> write 0x27b 0x1 0x10
> write 0x283 0x1 0x10
> write 0x287 0x1 0x10
> write 0x28f 0x1 0x10
> write 0x290 0x1 0x10
> write 0x29b 0x1 0x10
> write 0x29f 0x1 0x10
> write 0x2a7 0x1 0x10
> write 0x2ab 0x1 0x10
> write 0x2b3 0x1 0x10
> write 0x2b7 0x1 0x10
> write 0x2bf 0x1 0x10
> write 0x2c1 0x1 0x10
> write 0x2c9 0x1 0x10
> write 0x2cf 0x1 0x10
> write 0x2d7 0x1 0x10
> write 0x2db 0x1 0x10
> write 0x2e3 0x1 0x10
> write 0x2e7 0x1 0x10
> write 0x2ef 0x1 0x03
> write 0x2f2 0x1 0x10
> write 0x2fa 0x1 0x10
> write 0x2ff 0x1 0x10
> write 0x307 0x1 0x10
> write 0x30b 0x1 0x10
> write 0x313 0x1 0x10
> write 0x316 0x1 0x10
> write 0x31f 0x1 0x06
> write 0x323 0x1 0x10
> outb 0xc040 0x0
> EOF
> 
> === Stack Trace ===
> ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
> 0x7ffd436e9770 sp 0x7ffd436e9768
> READ of size 4 at 0x558f557253fc thread T0
> SCARINESS: 17 (4-byte-read-global-buffer-overflow)
> #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
> #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
> #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
> #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
> #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
> #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
> #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
> #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
> #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
> #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
> #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
> #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
> #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
> #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
> #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
> #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
> #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
> #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
> #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
> #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
> #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5
> 
> ** Affects: qemu
>      Importance: Undecided
>          Status: New
> 
> -- 
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/1914638
> 
> Title:
>   [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
> 
> Status in QEMU:
>   New
> 
> Bug description:
>   == Reproducer (build with --enable-sanitizers) ==
> 
>   cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
>   -device megasas -device scsi-cd,drive=null0 \
>   -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
>   -nographic -qtest stdio
>   outl 0xcf8 0x80000818
>   outl 0xcfc 0xc000
>   outl 0xcf8 0x80000804
>   outw 0xcfc 0x7
>   write 0x0 0x1 0x03
>   write 0x7 0x1 0x3f
>   write 0x10 0x1 0x03
>   write 0x20 0x1 0x55
>   write 0x21 0x1 0x10
>   write 0x28 0x1 0x10
>   write 0x30 0x1 0xff
>   write 0x31 0x1 0xff
>   write 0x32 0x1 0xff
>   write 0x33 0x1 0xff
>   write 0x34 0x1 0xff
>   write 0x35 0x1 0xff
>   write 0x36 0x1 0xff
>   write 0x37 0x1 0xff
>   write 0x3b 0x1 0x10
>   write 0x43 0x1 0x10
>   write 0x44 0x1 0x10
>   write 0x4f 0x1 0x10
>   write 0x53 0x1 0x10
>   write 0x5b 0x1 0x10
>   write 0x5f 0x1 0x10
>   write 0x67 0x1 0x10
>   write 0x6b 0x1 0x10
>   write 0x73 0x1 0x10
>   write 0x75 0x1 0x10
>   write 0x7d 0x1 0x10
>   write 0x83 0x1 0x10
>   write 0x8b 0x1 0x10
>   write 0x8f 0x1 0x10
>   write 0x97 0x1 0x10
>   write 0x9b 0x1 0x10
>   write 0xa3 0x1 0x03
>   write 0xa6 0x1 0x10
>   write 0xae 0x1 0x10
>   write 0xb3 0x1 0x10
>   write 0xbb 0x1 0x10
>   write 0xbf 0x1 0x10
>   write 0xc7 0x1 0x10
>   write 0xca 0x1 0x10
>   write 0xd3 0x1 0x06
>   write 0xd7 0x1 0x10
>   write 0xdf 0x1 0x10
>   write 0xe3 0x1 0x06
>   write 0xeb 0x1 0x01
>   write 0xef 0x1 0x10
>   write 0xf7 0x1 0x10
>   write 0xfb 0x1 0x10
>   write 0x103 0x1 0x20
>   write 0x107 0x1 0x10
>   write 0x10f 0x1 0x10
>   write 0x113 0x1 0x10
>   write 0x11b 0x1 0x10
>   write 0x11f 0x1 0x10
>   write 0x127 0x1 0x10
>   write 0x12b 0x1 0x10
>   write 0x130 0x1 0x10
>   write 0x137 0x1 0x10
>   write 0x13f 0x1 0x40
>   write 0x141 0x1 0x10
>   write 0x14b 0x1 0x10
>   write 0x14f 0x1 0x10
>   write 0x157 0x1 0x10
>   write 0x15b 0x1 0x10
>   write 0x161 0x1 0x10
>   write 0x167 0x1 0x03
>   write 0x16f 0x1 0x06
>   write 0x172 0x1 0x10
>   write 0x17b 0x1 0x10
>   write 0x17f 0x1 0x10
>   write 0x187 0x1 0x10
>   write 0x18b 0x1 0x10
>   write 0x192 0x1 0x10
>   write 0x197 0x1 0x06
>   write 0x19f 0x1 0x20
>   write 0x1a3 0x1 0x10
>   write 0x1ab 0x1 0x40
>   write 0x1af 0x1 0x01
>   write 0x1b7 0x1 0x10
>   write 0x1bb 0x1 0x20
>   write 0x1c3 0x1 0x10
>   write 0x1c7 0x1 0x20
>   write 0x1cc 0x1 0x10
>   write 0x1d3 0x1 0x10
>   write 0x1db 0x1 0x10
>   write 0x1df 0x1 0x10
>   write 0x1e7 0x1 0x10
>   write 0x1eb 0x1 0x10
>   write 0x1f3 0x1 0x10
>   write 0x1f4 0x1 0x10
>   write 0x1fd 0x1 0x10
>   write 0x203 0x1 0x40
>   write 0x20b 0x1 0x10
>   write 0x20f 0x1 0x10
>   write 0x217 0x1 0x10
>   write 0x21b 0x1 0x10
>   write 0x223 0x1 0x10
>   write 0x225 0x1 0x10
>   write 0x22e 0x1 0x10
>   write 0x233 0x1 0x06
>   write 0x23b 0x1 0x10
>   write 0x23f 0x1 0x10
>   write 0x247 0x1 0x10
>   write 0x24b 0x1 0x10
>   write 0x252 0x1 0x10
>   write 0x256 0x1 0x10
>   write 0x25f 0x1 0x10
>   write 0x263 0x1 0x20
>   write 0x26b 0x1 0x06
>   write 0x26f 0x1 0x40
>   write 0x277 0x1 0x10
>   write 0x27b 0x1 0x10
>   write 0x283 0x1 0x10
>   write 0x287 0x1 0x10
>   write 0x28f 0x1 0x10
>   write 0x290 0x1 0x10
>   write 0x29b 0x1 0x10
>   write 0x29f 0x1 0x10
>   write 0x2a7 0x1 0x10
>   write 0x2ab 0x1 0x10
>   write 0x2b3 0x1 0x10
>   write 0x2b7 0x1 0x10
>   write 0x2bf 0x1 0x10
>   write 0x2c1 0x1 0x10
>   write 0x2c9 0x1 0x10
>   write 0x2cf 0x1 0x10
>   write 0x2d7 0x1 0x10
>   write 0x2db 0x1 0x10
>   write 0x2e3 0x1 0x10
>   write 0x2e7 0x1 0x10
>   write 0x2ef 0x1 0x03
>   write 0x2f2 0x1 0x10
>   write 0x2fa 0x1 0x10
>   write 0x2ff 0x1 0x10
>   write 0x307 0x1 0x10
>   write 0x30b 0x1 0x10
>   write 0x313 0x1 0x10
>   write 0x316 0x1 0x10
>   write 0x31f 0x1 0x06
>   write 0x323 0x1 0x10
>   outb 0xc040 0x0
>   EOF
> 
>   === Stack Trace ===
>   ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
>   0x7ffd436e9770 sp 0x7ffd436e9768
>   READ of size 4 at 0x558f557253fc thread T0
>   SCARINESS: 17 (4-byte-read-global-buffer-overflow)
>   #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
>   #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
>   #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
>   #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
>   #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
>   #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
>   #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
>   #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
>   #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
>   #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
>   #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
>   #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
>   #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
>   #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
>   #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
>   #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
>   #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
>   #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
>   #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
>   #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
>   #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5
> 
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions
> 


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

* Re: [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
@ 2021-02-04 18:37   ` Alexander Bulekov
  0 siblings, 0 replies; 8+ messages in thread
From: Alexander Bulekov @ 2021-02-04 18:37 UTC (permalink / raw)
  To: qemu-devel

+CC Paolo and Fam

scsi-disk.c:1092     static const int mode_sense_valid[0x3f] =
...
scsi-disk.c:1488          page = p[0] & 0x3f;

OSS-Fuzz found this same crash for virtio-scsi, however, since the
reproducer involved a double-fetch, I don't have a simple QTest
reproducer

On 210204 1728, Alexander Bulekov wrote:
> Public bug reported:
> 
> == Reproducer (build with --enable-sanitizers) ==
> 
> cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
> -device megasas -device scsi-cd,drive=null0 \
> -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
> -nographic -qtest stdio
> outl 0xcf8 0x80000818
> outl 0xcfc 0xc000
> outl 0xcf8 0x80000804
> outw 0xcfc 0x7
> write 0x0 0x1 0x03
> write 0x7 0x1 0x3f
> write 0x10 0x1 0x03
> write 0x20 0x1 0x55
> write 0x21 0x1 0x10
> write 0x28 0x1 0x10
> write 0x30 0x1 0xff
> write 0x31 0x1 0xff
> write 0x32 0x1 0xff
> write 0x33 0x1 0xff
> write 0x34 0x1 0xff
> write 0x35 0x1 0xff
> write 0x36 0x1 0xff
> write 0x37 0x1 0xff
> write 0x3b 0x1 0x10
> write 0x43 0x1 0x10
> write 0x44 0x1 0x10
> write 0x4f 0x1 0x10
> write 0x53 0x1 0x10
> write 0x5b 0x1 0x10
> write 0x5f 0x1 0x10
> write 0x67 0x1 0x10
> write 0x6b 0x1 0x10
> write 0x73 0x1 0x10
> write 0x75 0x1 0x10
> write 0x7d 0x1 0x10
> write 0x83 0x1 0x10
> write 0x8b 0x1 0x10
> write 0x8f 0x1 0x10
> write 0x97 0x1 0x10
> write 0x9b 0x1 0x10
> write 0xa3 0x1 0x03
> write 0xa6 0x1 0x10
> write 0xae 0x1 0x10
> write 0xb3 0x1 0x10
> write 0xbb 0x1 0x10
> write 0xbf 0x1 0x10
> write 0xc7 0x1 0x10
> write 0xca 0x1 0x10
> write 0xd3 0x1 0x06
> write 0xd7 0x1 0x10
> write 0xdf 0x1 0x10
> write 0xe3 0x1 0x06
> write 0xeb 0x1 0x01
> write 0xef 0x1 0x10
> write 0xf7 0x1 0x10
> write 0xfb 0x1 0x10
> write 0x103 0x1 0x20
> write 0x107 0x1 0x10
> write 0x10f 0x1 0x10
> write 0x113 0x1 0x10
> write 0x11b 0x1 0x10
> write 0x11f 0x1 0x10
> write 0x127 0x1 0x10
> write 0x12b 0x1 0x10
> write 0x130 0x1 0x10
> write 0x137 0x1 0x10
> write 0x13f 0x1 0x40
> write 0x141 0x1 0x10
> write 0x14b 0x1 0x10
> write 0x14f 0x1 0x10
> write 0x157 0x1 0x10
> write 0x15b 0x1 0x10
> write 0x161 0x1 0x10
> write 0x167 0x1 0x03
> write 0x16f 0x1 0x06
> write 0x172 0x1 0x10
> write 0x17b 0x1 0x10
> write 0x17f 0x1 0x10
> write 0x187 0x1 0x10
> write 0x18b 0x1 0x10
> write 0x192 0x1 0x10
> write 0x197 0x1 0x06
> write 0x19f 0x1 0x20
> write 0x1a3 0x1 0x10
> write 0x1ab 0x1 0x40
> write 0x1af 0x1 0x01
> write 0x1b7 0x1 0x10
> write 0x1bb 0x1 0x20
> write 0x1c3 0x1 0x10
> write 0x1c7 0x1 0x20
> write 0x1cc 0x1 0x10
> write 0x1d3 0x1 0x10
> write 0x1db 0x1 0x10
> write 0x1df 0x1 0x10
> write 0x1e7 0x1 0x10
> write 0x1eb 0x1 0x10
> write 0x1f3 0x1 0x10
> write 0x1f4 0x1 0x10
> write 0x1fd 0x1 0x10
> write 0x203 0x1 0x40
> write 0x20b 0x1 0x10
> write 0x20f 0x1 0x10
> write 0x217 0x1 0x10
> write 0x21b 0x1 0x10
> write 0x223 0x1 0x10
> write 0x225 0x1 0x10
> write 0x22e 0x1 0x10
> write 0x233 0x1 0x06
> write 0x23b 0x1 0x10
> write 0x23f 0x1 0x10
> write 0x247 0x1 0x10
> write 0x24b 0x1 0x10
> write 0x252 0x1 0x10
> write 0x256 0x1 0x10
> write 0x25f 0x1 0x10
> write 0x263 0x1 0x20
> write 0x26b 0x1 0x06
> write 0x26f 0x1 0x40
> write 0x277 0x1 0x10
> write 0x27b 0x1 0x10
> write 0x283 0x1 0x10
> write 0x287 0x1 0x10
> write 0x28f 0x1 0x10
> write 0x290 0x1 0x10
> write 0x29b 0x1 0x10
> write 0x29f 0x1 0x10
> write 0x2a7 0x1 0x10
> write 0x2ab 0x1 0x10
> write 0x2b3 0x1 0x10
> write 0x2b7 0x1 0x10
> write 0x2bf 0x1 0x10
> write 0x2c1 0x1 0x10
> write 0x2c9 0x1 0x10
> write 0x2cf 0x1 0x10
> write 0x2d7 0x1 0x10
> write 0x2db 0x1 0x10
> write 0x2e3 0x1 0x10
> write 0x2e7 0x1 0x10
> write 0x2ef 0x1 0x03
> write 0x2f2 0x1 0x10
> write 0x2fa 0x1 0x10
> write 0x2ff 0x1 0x10
> write 0x307 0x1 0x10
> write 0x30b 0x1 0x10
> write 0x313 0x1 0x10
> write 0x316 0x1 0x10
> write 0x31f 0x1 0x06
> write 0x323 0x1 0x10
> outb 0xc040 0x0
> EOF
> 
> === Stack Trace ===
> ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
> 0x7ffd436e9770 sp 0x7ffd436e9768
> READ of size 4 at 0x558f557253fc thread T0
> SCARINESS: 17 (4-byte-read-global-buffer-overflow)
> #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
> #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
> #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
> #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
> #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
> #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
> #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
> #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
> #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
> #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
> #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
> #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
> #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
> #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
> #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
> #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
> #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
> #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
> #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
> #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
> #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5
> 
> ** Affects: qemu
>      Importance: Undecided
>          Status: New
> 
> -- 
> You received this bug notification because you are a member of qemu-
> devel-ml, which is subscribed to QEMU.
> https://bugs.launchpad.net/bugs/1914638
> 
> Title:
>   [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
> 
> Status in QEMU:
>   New
> 
> Bug description:
>   == Reproducer (build with --enable-sanitizers) ==
> 
>   cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
>   -device megasas -device scsi-cd,drive=null0 \
>   -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
>   -nographic -qtest stdio
>   outl 0xcf8 0x80000818
>   outl 0xcfc 0xc000
>   outl 0xcf8 0x80000804
>   outw 0xcfc 0x7
>   write 0x0 0x1 0x03
>   write 0x7 0x1 0x3f
>   write 0x10 0x1 0x03
>   write 0x20 0x1 0x55
>   write 0x21 0x1 0x10
>   write 0x28 0x1 0x10
>   write 0x30 0x1 0xff
>   write 0x31 0x1 0xff
>   write 0x32 0x1 0xff
>   write 0x33 0x1 0xff
>   write 0x34 0x1 0xff
>   write 0x35 0x1 0xff
>   write 0x36 0x1 0xff
>   write 0x37 0x1 0xff
>   write 0x3b 0x1 0x10
>   write 0x43 0x1 0x10
>   write 0x44 0x1 0x10
>   write 0x4f 0x1 0x10
>   write 0x53 0x1 0x10
>   write 0x5b 0x1 0x10
>   write 0x5f 0x1 0x10
>   write 0x67 0x1 0x10
>   write 0x6b 0x1 0x10
>   write 0x73 0x1 0x10
>   write 0x75 0x1 0x10
>   write 0x7d 0x1 0x10
>   write 0x83 0x1 0x10
>   write 0x8b 0x1 0x10
>   write 0x8f 0x1 0x10
>   write 0x97 0x1 0x10
>   write 0x9b 0x1 0x10
>   write 0xa3 0x1 0x03
>   write 0xa6 0x1 0x10
>   write 0xae 0x1 0x10
>   write 0xb3 0x1 0x10
>   write 0xbb 0x1 0x10
>   write 0xbf 0x1 0x10
>   write 0xc7 0x1 0x10
>   write 0xca 0x1 0x10
>   write 0xd3 0x1 0x06
>   write 0xd7 0x1 0x10
>   write 0xdf 0x1 0x10
>   write 0xe3 0x1 0x06
>   write 0xeb 0x1 0x01
>   write 0xef 0x1 0x10
>   write 0xf7 0x1 0x10
>   write 0xfb 0x1 0x10
>   write 0x103 0x1 0x20
>   write 0x107 0x1 0x10
>   write 0x10f 0x1 0x10
>   write 0x113 0x1 0x10
>   write 0x11b 0x1 0x10
>   write 0x11f 0x1 0x10
>   write 0x127 0x1 0x10
>   write 0x12b 0x1 0x10
>   write 0x130 0x1 0x10
>   write 0x137 0x1 0x10
>   write 0x13f 0x1 0x40
>   write 0x141 0x1 0x10
>   write 0x14b 0x1 0x10
>   write 0x14f 0x1 0x10
>   write 0x157 0x1 0x10
>   write 0x15b 0x1 0x10
>   write 0x161 0x1 0x10
>   write 0x167 0x1 0x03
>   write 0x16f 0x1 0x06
>   write 0x172 0x1 0x10
>   write 0x17b 0x1 0x10
>   write 0x17f 0x1 0x10
>   write 0x187 0x1 0x10
>   write 0x18b 0x1 0x10
>   write 0x192 0x1 0x10
>   write 0x197 0x1 0x06
>   write 0x19f 0x1 0x20
>   write 0x1a3 0x1 0x10
>   write 0x1ab 0x1 0x40
>   write 0x1af 0x1 0x01
>   write 0x1b7 0x1 0x10
>   write 0x1bb 0x1 0x20
>   write 0x1c3 0x1 0x10
>   write 0x1c7 0x1 0x20
>   write 0x1cc 0x1 0x10
>   write 0x1d3 0x1 0x10
>   write 0x1db 0x1 0x10
>   write 0x1df 0x1 0x10
>   write 0x1e7 0x1 0x10
>   write 0x1eb 0x1 0x10
>   write 0x1f3 0x1 0x10
>   write 0x1f4 0x1 0x10
>   write 0x1fd 0x1 0x10
>   write 0x203 0x1 0x40
>   write 0x20b 0x1 0x10
>   write 0x20f 0x1 0x10
>   write 0x217 0x1 0x10
>   write 0x21b 0x1 0x10
>   write 0x223 0x1 0x10
>   write 0x225 0x1 0x10
>   write 0x22e 0x1 0x10
>   write 0x233 0x1 0x06
>   write 0x23b 0x1 0x10
>   write 0x23f 0x1 0x10
>   write 0x247 0x1 0x10
>   write 0x24b 0x1 0x10
>   write 0x252 0x1 0x10
>   write 0x256 0x1 0x10
>   write 0x25f 0x1 0x10
>   write 0x263 0x1 0x20
>   write 0x26b 0x1 0x06
>   write 0x26f 0x1 0x40
>   write 0x277 0x1 0x10
>   write 0x27b 0x1 0x10
>   write 0x283 0x1 0x10
>   write 0x287 0x1 0x10
>   write 0x28f 0x1 0x10
>   write 0x290 0x1 0x10
>   write 0x29b 0x1 0x10
>   write 0x29f 0x1 0x10
>   write 0x2a7 0x1 0x10
>   write 0x2ab 0x1 0x10
>   write 0x2b3 0x1 0x10
>   write 0x2b7 0x1 0x10
>   write 0x2bf 0x1 0x10
>   write 0x2c1 0x1 0x10
>   write 0x2c9 0x1 0x10
>   write 0x2cf 0x1 0x10
>   write 0x2d7 0x1 0x10
>   write 0x2db 0x1 0x10
>   write 0x2e3 0x1 0x10
>   write 0x2e7 0x1 0x10
>   write 0x2ef 0x1 0x03
>   write 0x2f2 0x1 0x10
>   write 0x2fa 0x1 0x10
>   write 0x2ff 0x1 0x10
>   write 0x307 0x1 0x10
>   write 0x30b 0x1 0x10
>   write 0x313 0x1 0x10
>   write 0x316 0x1 0x10
>   write 0x31f 0x1 0x06
>   write 0x323 0x1 0x10
>   outb 0xc040 0x0
>   EOF
> 
>   === Stack Trace ===
>   ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
>   0x7ffd436e9770 sp 0x7ffd436e9768
>   READ of size 4 at 0x558f557253fc thread T0
>   SCARINESS: 17 (4-byte-read-global-buffer-overflow)
>   #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
>   #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
>   #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
>   #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
>   #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
>   #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
>   #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
>   #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
>   #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
>   #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
>   #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
>   #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
>   #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
>   #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
>   #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
>   #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
>   #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
>   #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
>   #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
>   #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
>   #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5
> 
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions
>

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  New

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions


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

* [Bug 1914638] Re: [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
  2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
  2021-02-04 18:37   ` Alexander Bulekov
@ 2021-02-04 21:33 ` Peter Maydell
  2021-02-05 10:15 ` Philippe Mathieu-Daudé
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Peter Maydell @ 2021-02-04 21:33 UTC (permalink / raw)
  To: qemu-devel

** Tags added: fuzzer

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  New

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions


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

* [Bug 1914638] Re: [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
  2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
  2021-02-04 18:37   ` Alexander Bulekov
  2021-02-04 21:33 ` [Bug 1914638] " Peter Maydell
@ 2021-02-05 10:15 ` Philippe Mathieu-Daudé
  2021-05-18  4:33 ` Thomas Huth
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 8+ messages in thread
From: Philippe Mathieu-Daudé @ 2021-02-05 10:15 UTC (permalink / raw)
  To: qemu-devel

Proposed fix:
https://www.mail-archive.com/qemu-devel@nongnu.org/msg779652.html

** Changed in: qemu
       Status: New => Confirmed

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  Confirmed

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions


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

* [Bug 1914638] Re: [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
  2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
                   ` (2 preceding siblings ...)
  2021-02-05 10:15 ` Philippe Mathieu-Daudé
@ 2021-05-18  4:33 ` Thomas Huth
  2021-08-21  4:13 ` Alexander Bulekov
  2021-08-21  6:23 ` Thomas Huth
  5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2021-05-18  4:33 UTC (permalink / raw)
  To: qemu-devel

What happened to your patch, Philippe? Did it get stalled?

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  Confirmed

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions


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

* [Bug 1914638] Re: [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
  2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
                   ` (3 preceding siblings ...)
  2021-05-18  4:33 ` Thomas Huth
@ 2021-08-21  4:13 ` Alexander Bulekov
  2021-08-21  6:23 ` Thomas Huth
  5 siblings, 0 replies; 8+ messages in thread
From: Alexander Bulekov @ 2021-08-21  4:13 UTC (permalink / raw)
  To: qemu-devel

I moved this report over to QEMU's new bug tracker on gitlab.com.
Please continue with the discussion here:

https://gitlab.com/qemu-project/qemu/-/issues/546

** Bug watch added: gitlab.com/qemu-project/qemu/-/issues #546
   https://gitlab.com/qemu-project/qemu/-/issues/546

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  Confirmed

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions



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

* [Bug 1914638] Re: [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page
  2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
                   ` (4 preceding siblings ...)
  2021-08-21  4:13 ` Alexander Bulekov
@ 2021-08-21  6:23 ` Thomas Huth
  5 siblings, 0 replies; 8+ messages in thread
From: Thomas Huth @ 2021-08-21  6:23 UTC (permalink / raw)
  To: qemu-devel

Thanks for moving it over! ... let's close this one here on Launchpad
now.


** Changed in: qemu
       Status: Confirmed => Invalid

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1914638

Title:
  [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page

Status in QEMU:
  Invalid

Bug description:
  == Reproducer (build with --enable-sanitizers) ==

  cat << EOF | ./qemu-system-i386 -machine q35 -nodefaults \
  -device megasas -device scsi-cd,drive=null0 \
  -blockdev driver=null-co,read-zeroes=on,node-name=null0 \
  -nographic -qtest stdio
  outl 0xcf8 0x80000818
  outl 0xcfc 0xc000
  outl 0xcf8 0x80000804
  outw 0xcfc 0x7
  write 0x0 0x1 0x03
  write 0x7 0x1 0x3f
  write 0x10 0x1 0x03
  write 0x20 0x1 0x55
  write 0x21 0x1 0x10
  write 0x28 0x1 0x10
  write 0x30 0x1 0xff
  write 0x31 0x1 0xff
  write 0x32 0x1 0xff
  write 0x33 0x1 0xff
  write 0x34 0x1 0xff
  write 0x35 0x1 0xff
  write 0x36 0x1 0xff
  write 0x37 0x1 0xff
  write 0x3b 0x1 0x10
  write 0x43 0x1 0x10
  write 0x44 0x1 0x10
  write 0x4f 0x1 0x10
  write 0x53 0x1 0x10
  write 0x5b 0x1 0x10
  write 0x5f 0x1 0x10
  write 0x67 0x1 0x10
  write 0x6b 0x1 0x10
  write 0x73 0x1 0x10
  write 0x75 0x1 0x10
  write 0x7d 0x1 0x10
  write 0x83 0x1 0x10
  write 0x8b 0x1 0x10
  write 0x8f 0x1 0x10
  write 0x97 0x1 0x10
  write 0x9b 0x1 0x10
  write 0xa3 0x1 0x03
  write 0xa6 0x1 0x10
  write 0xae 0x1 0x10
  write 0xb3 0x1 0x10
  write 0xbb 0x1 0x10
  write 0xbf 0x1 0x10
  write 0xc7 0x1 0x10
  write 0xca 0x1 0x10
  write 0xd3 0x1 0x06
  write 0xd7 0x1 0x10
  write 0xdf 0x1 0x10
  write 0xe3 0x1 0x06
  write 0xeb 0x1 0x01
  write 0xef 0x1 0x10
  write 0xf7 0x1 0x10
  write 0xfb 0x1 0x10
  write 0x103 0x1 0x20
  write 0x107 0x1 0x10
  write 0x10f 0x1 0x10
  write 0x113 0x1 0x10
  write 0x11b 0x1 0x10
  write 0x11f 0x1 0x10
  write 0x127 0x1 0x10
  write 0x12b 0x1 0x10
  write 0x130 0x1 0x10
  write 0x137 0x1 0x10
  write 0x13f 0x1 0x40
  write 0x141 0x1 0x10
  write 0x14b 0x1 0x10
  write 0x14f 0x1 0x10
  write 0x157 0x1 0x10
  write 0x15b 0x1 0x10
  write 0x161 0x1 0x10
  write 0x167 0x1 0x03
  write 0x16f 0x1 0x06
  write 0x172 0x1 0x10
  write 0x17b 0x1 0x10
  write 0x17f 0x1 0x10
  write 0x187 0x1 0x10
  write 0x18b 0x1 0x10
  write 0x192 0x1 0x10
  write 0x197 0x1 0x06
  write 0x19f 0x1 0x20
  write 0x1a3 0x1 0x10
  write 0x1ab 0x1 0x40
  write 0x1af 0x1 0x01
  write 0x1b7 0x1 0x10
  write 0x1bb 0x1 0x20
  write 0x1c3 0x1 0x10
  write 0x1c7 0x1 0x20
  write 0x1cc 0x1 0x10
  write 0x1d3 0x1 0x10
  write 0x1db 0x1 0x10
  write 0x1df 0x1 0x10
  write 0x1e7 0x1 0x10
  write 0x1eb 0x1 0x10
  write 0x1f3 0x1 0x10
  write 0x1f4 0x1 0x10
  write 0x1fd 0x1 0x10
  write 0x203 0x1 0x40
  write 0x20b 0x1 0x10
  write 0x20f 0x1 0x10
  write 0x217 0x1 0x10
  write 0x21b 0x1 0x10
  write 0x223 0x1 0x10
  write 0x225 0x1 0x10
  write 0x22e 0x1 0x10
  write 0x233 0x1 0x06
  write 0x23b 0x1 0x10
  write 0x23f 0x1 0x10
  write 0x247 0x1 0x10
  write 0x24b 0x1 0x10
  write 0x252 0x1 0x10
  write 0x256 0x1 0x10
  write 0x25f 0x1 0x10
  write 0x263 0x1 0x20
  write 0x26b 0x1 0x06
  write 0x26f 0x1 0x40
  write 0x277 0x1 0x10
  write 0x27b 0x1 0x10
  write 0x283 0x1 0x10
  write 0x287 0x1 0x10
  write 0x28f 0x1 0x10
  write 0x290 0x1 0x10
  write 0x29b 0x1 0x10
  write 0x29f 0x1 0x10
  write 0x2a7 0x1 0x10
  write 0x2ab 0x1 0x10
  write 0x2b3 0x1 0x10
  write 0x2b7 0x1 0x10
  write 0x2bf 0x1 0x10
  write 0x2c1 0x1 0x10
  write 0x2c9 0x1 0x10
  write 0x2cf 0x1 0x10
  write 0x2d7 0x1 0x10
  write 0x2db 0x1 0x10
  write 0x2e3 0x1 0x10
  write 0x2e7 0x1 0x10
  write 0x2ef 0x1 0x03
  write 0x2f2 0x1 0x10
  write 0x2fa 0x1 0x10
  write 0x2ff 0x1 0x10
  write 0x307 0x1 0x10
  write 0x30b 0x1 0x10
  write 0x313 0x1 0x10
  write 0x316 0x1 0x10
  write 0x31f 0x1 0x06
  write 0x323 0x1 0x10
  outb 0xc040 0x0
  EOF

  === Stack Trace ===
  ==1025760==ERROR: AddressSanitizer: global-buffer-overflow on address 0x558f557253fc at pc 0x558f549ab376 bp
  0x7ffd436e9770 sp 0x7ffd436e9768
  READ of size 4 at 0x558f557253fc thread T0
  SCARINESS: 17 (4-byte-read-global-buffer-overflow)
  #0 0x558f549ab375 in mode_sense_page /src/qemu/hw/scsi/scsi-disk.c:1104:10
  #1 0x558f549afd86 in scsi_disk_check_mode_select /src/qemu/hw/scsi/scsi-disk.c:1447:11
  #2 0x558f549af9a6 in mode_select_pages /src/qemu/hw/scsi/scsi-disk.c:1515:17
  #3 0x558f549ae593 in scsi_disk_emulate_mode_select /src/qemu/hw/scsi/scsi-disk.c:1570:13
  #4 0x558f549a56e9 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1861:9
  #5 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #6 0x558f548b9fc4 in scsi_req_data /src/qemu/hw/scsi/scsi-bus.c:1427:5
  #7 0x558f549a5554 in scsi_disk_emulate_write_data /src/qemu/hw/scsi/scsi-disk.c:1853:9
  #8 0x558f548b9b49 in scsi_req_continue /src/qemu/hw/scsi/scsi-bus.c:0
  #9 0x558f54ac7cf6 in megasas_enqueue_req /src/qemu/hw/scsi/megasas.c:1660:9
  #10 0x558f54ab6e09 in megasas_handle_scsi /src/qemu/hw/scsi/megasas.c:1735:5
  #11 0x558f54ab3083 in megasas_handle_frame /src/qemu/hw/scsi/megasas.c:1974:24
  #12 0x558f54ab1c8b in megasas_mmio_write /src/qemu/hw/scsi/megasas.c:2131:9
  #13 0x558f54acc784 in megasas_port_write /src/qemu/hw/scsi/megasas.c:2182:5
  #14 0x558f54f78d57 in memory_region_write_accessor /src/qemu/softmmu/memory.c:491:5
  #15 0x558f54f78be2 in access_with_adjusted_size /src/qemu/softmmu/memory.c:552:18
  #16 0x558f54f78441 in memory_region_dispatch_write /src/qemu/softmmu/memory.c:0:13
  #17 0x558f550d5627 in flatview_write_continue /src/qemu/softmmu/physmem.c:2763:23
  #18 0x558f550d02ac in flatview_write /src/qemu/softmmu/physmem.c:2803:14
  #19 0x558f550d00c7 in address_space_write /src/qemu/softmmu/physmem.c:2895:18
  #20 0x558f5506c4ff in cpu_outb /src/qemu/softmmu/ioport.c:60:5

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1914638/+subscriptions



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

end of thread, other threads:[~2021-08-21  6:32 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 17:28 [Bug 1914638] [NEW] [OSS-Fuzz] Issue 30219: Global-buffer-overflow in mode_sense_page Alexander Bulekov
2021-02-04 18:37 ` Alexander Bulekov
2021-02-04 18:37   ` Alexander Bulekov
2021-02-04 21:33 ` [Bug 1914638] " Peter Maydell
2021-02-05 10:15 ` Philippe Mathieu-Daudé
2021-05-18  4:33 ` Thomas Huth
2021-08-21  4:13 ` Alexander Bulekov
2021-08-21  6:23 ` Thomas Huth

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.