[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet
From: |
Bandan Das |
Subject: |
Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator |
Date: |
Fri, 18 May 2018 14:38:45 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) |
Peter Maydell <address@hidden> writes:
> On 18 May 2018 at 19:22, Bandan Das <address@hidden> wrote:
>>
>> CID 1390604
>> If the initiator sends a packet with TYPE_DATA set without
>> initiating a CMD_GET_OBJECT_INFO first, then usb_mtp_get_data
>> can trip on a null s->data_out.
>>
>> Signed-off-by: Bandan Das <address@hidden>
>
> I think you said this can be provoked by the guest?
Yes, this can only be initated by the guest as far as I
understand.
> Misbehaving or malicious guests should never be able
> to provoke assertions.
I am not sure, I thought it's better to kill a misbehaving guest rather
than silently letting it run. Anyway, it's possible to send a
No_Valid_ObjectInfo as well and we wouldn't have to mark it as a
false positive either.
Bandan
>> ---
>> hw/usb/dev-mtp.c | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
>> index 3d59fe4944..905e025d7f 100644
>> --- a/hw/usb/dev-mtp.c
>> +++ b/hw/usb/dev-mtp.c
>> @@ -1696,6 +1696,7 @@ static void usb_mtp_get_data(MTPState *s,
>> mtp_container *container,
>> uint64_t dlen;
>> uint32_t data_len = p->iov.size;
>>
>> + assert(d != NULL);
>> if (d->first) {
>> /* Total length of incoming data */
>> d->length = cpu_to_le32(container->length) - sizeof(mtp_container);
>> --
>> 2.14.3
>
> thanks
> -- PMM
- [Qemu-devel] [PULL 0/3] Usb 20180507 patches, Gerd Hoffmann, 2018/05/07
- [Qemu-devel] [PULL 1/3] usb-mtp: Add some NULL checks for issues pointed out by coverity, Gerd Hoffmann, 2018/05/07
- Re: [Qemu-devel] [PULL 1/3] usb-mtp: Add some NULL checks for issues pointed out by coverity, Peter Maydell, 2018/05/15
- Re: [Qemu-devel] [PULL 1/3] usb-mtp: Add some NULL checks for issues pointed out by coverity, Bandan Das, 2018/05/17
- [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator, Bandan Das, 2018/05/18
- Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator, Peter Maydell, 2018/05/18
- Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator,
Bandan Das <=
- Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator, Peter Maydell, 2018/05/18
- Re: [Qemu-devel] [PATCH] usb-mtp: Assert on suspicious TYPE_DATA packet from initiator, Bandan Das, 2018/05/18
- [Qemu-devel] [PATCH v2] usb-mtp: Return error on suspicious TYPE_DATA packet from initiator, Bandan Das, 2018/05/18
- Re: [Qemu-devel] [PULL 1/3] usb-mtp: Add some NULL checks for issues pointed out by coverity, Bandan Das, 2018/05/18
[Qemu-devel] [PULL 2/3] usb-mtp: Unconditionally check for the readonly bit, Gerd Hoffmann, 2018/05/07
[Qemu-devel] [PULL 3/3] usb-host: skip open on pending postload bh, Gerd Hoffmann, 2018/05/07
Re: [Qemu-devel] [PULL 0/3] Usb 20180507 patches, Peter Maydell, 2018/05/08