Thomas Huth 
		effaf5a240 
		
	 
	
	
	hw/usb/hcd-xhci: Fix unbounded loop in xhci_ring_chain_length() (CVE-2020-14394) ... 
			The loop condition in xhci_ring_chain_length() is under control of
the guest, and additionally the code does not check for failed DMA
transfers (e.g. if reaching the end of the RAM), so the loop there
could run for a very long time or even forever. Fix it by checking
the return value of dma_memory_read() and by introducing a maximum
loop length.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/646 
Message-Id: <20220804131300.96368-1-thuth@redhat.com>
Reviewed-by: Mauro Matteo Cascella <mcascell@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com> 
		
	 
		2022-08-16 11:37:19 +02:00 
	 
	
	
		 
	
	
		
			
			
			
			
			
			2021-11-02 15:55:14 +00:00 
		 
	
		
			
			
			
			
			
			2022-07-01 12:39:51 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-06 09:26:53 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-06 09:26:53 +02:00 
		 
	
		
			
			
			
			
			
			2020-09-18 14:12:32 -04:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00 
		 
	
		
			
			
			
			
			
			2021-05-05 15:06:01 +02:00 
		 
	
		
			
			
			
			
			
			2021-01-22 14:51:35 +01:00 
		 
	
		
			
			
			
			
			
			2021-09-01 06:37:13 +02:00 
		 
	
		
			
			
			
			
			
			2022-01-13 10:22:37 +01:00 
		 
	
		
			
			
			
			
			
			2022-01-13 10:22:37 +01:00 
		 
	
		
			
			
			
			
			
			2021-09-01 06:37:13 +02:00 
		 
	
		
			
			
			
			
			
			2022-02-22 17:15:36 +01:00 
		 
	
		
			
			
			
			
			
			2021-01-08 15:13:38 +00:00 
		 
	
		
			
			
			
			
			
			2022-04-06 14:31:55 +02:00 
		 
	
		
			
			
			
			
			
			2020-09-18 14:12:32 -04:00 
		 
	
		
			
			
			
			
			
			2021-03-15 17:00:58 +01:00 
		 
	
		
			
			
			
			
			
			2022-04-06 14:31:43 +02:00 
		 
	
		
			
			
			
			
			
			2021-09-30 13:42:10 +01:00 
		 
	
		
			
			
			
			
			
			2021-09-30 13:42:10 +01:00 
		 
	
		
			
			
			
			
			
			2021-03-15 17:01:17 +01:00 
		 
	
		
			
			
			
			
			
			2022-01-13 10:58:05 +01:00 
		 
	
		
			
			
			
			
			
			2022-01-13 10:22:00 +01:00 
		 
	
		
			
			
			
			
			
			2021-12-30 17:16:32 +01:00 
		 
	
		
			
			
			
			
			
			2022-05-11 16:49:06 +02:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00 
		 
	
		
			
			
			
			
			
			2020-05-15 07:08:14 +02:00 
		 
	
		
			
			
			
			
			
			2021-03-26 09:14:48 +01:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2020-10-27 11:10:21 +00:00 
		 
	
		
			
			
			
			
			
			2020-06-12 11:20:15 -04:00 
		 
	
		
			
			
			
			
			
			2021-01-08 15:13:38 +00:00 
		 
	
		
			
			
			
			
			
			2022-03-04 09:34:21 +01:00 
		 
	
		
			
			
			
			
			
			2020-09-18 14:12:32 -04:00 
		 
	
		
			
			
			
			
			
			2021-11-02 14:32:32 +01:00 
		 
	
		
			
			
			
			
			
			2021-11-02 14:32:32 +01:00 
		 
	
		
			
			
			
			
			
			2020-11-15 16:40:48 +01:00 
		 
	
		
			
			
			
			
			
			2021-05-28 09:10:20 +02:00 
		 
	
		
			
			
			
			
			
			2020-11-15 16:40:48 +01:00 
		 
	
		
			
			
			
			
			
			2021-05-28 09:10:20 +02:00 
		 
	
		
			
			
			
			
			
			2020-10-21 11:36:19 +02:00 
		 
	
		
			
			
			
			
			
			2022-08-16 11:37:19 +02:00 
		 
	
		
			
			
			
			
			
			2021-05-28 09:10:20 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-06 09:26:53 +02:00 
		 
	
		
			
			
			
			
			
			2013-02-19 12:30:05 +01:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2021-12-30 17:16:32 +01:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2021-02-17 14:29:12 +01:00 
		 
	
		
			
			
			
			
			
			2021-09-01 06:37:13 +02:00 
		 
	
		
			
			
			
			
			
			2013-01-08 10:56:58 +01:00 
		 
	
		
			
			
			
			
			
			2020-03-16 23:02:25 +01:00 
		 
	
		
			
			
			
			
			
			2021-05-12 18:20:25 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2022-06-14 10:34:36 +02:00 
		 
	
		
			
			
			
			
			
			2020-08-21 06:18:24 -04:00 
		 
	
		
			
			
			
			
			
			2020-09-18 14:12:32 -04:00 
		 
	
		
			
			
			
			
			
			2021-09-01 06:37:13 +02:00 
		 
	
		
			
			
			
			
			
			2021-02-20 12:36:19 +01:00 
		 
	
		
			
			
			
			
			
			2021-03-15 17:00:58 +01:00 
		 
	
		
			
			
			
			
			
			2022-08-01 11:58:02 +02:00 
		 
	
		
			
			
			
			
			
			2021-11-02 14:32:32 +01:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00 
		 
	
		
			
			
			
			
			
			2021-05-02 17:24:50 +02:00