qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Li Qiang <liq3ea@gmail.com>
To: P J P <ppandit@redhat.com>
Cc: marcandre lureau <marcandre.lureau@redhat.com>,
	Li Qiang <liq3ea@163.com>, Gerd Hoffmann <kraxel@redhat.com>,
	Qemu Developers <qemu-devel@nongnu.org>
Subject: Re: [PATCH 1/7] vhost-user-gpu: fix memory disclosure in virgl_cmd_get_capset_info
Date: Thu, 6 May 2021 15:49:13 +0800	[thread overview]
Message-ID: <CAKXe6S+sce2CQq3f2oT-fbB0Z8dKZ6aReYHkg2K+TDfiAaCkyg@mail.gmail.com> (raw)
In-Reply-To: <1970r4n-9opn-q43n-r510-s85so96648op@erqung.pbz>

P J P <ppandit@redhat.com> 于2021年5月6日周四 下午1:53写道:
>
> +-- On Wed, 5 May 2021, Li Qiang wrote --+
> | P J P <ppandit@redhat.com> 于2021年5月5日周三 下午3:24写道:
> | > -   vg_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
> | > +   vg_ctrl_response(g, cmd, &resp.hdr, sizeof(resp.hdr));
> | >
> | > * While memset(3) is okay, should it also send header(hdr) size as 'resp_len'?
> |
> | I don't think so. This function also set fields other than header such
> | as 'resp.capset_id', 'resp.capset_max_version' and so on.
>
> But it is passing 'resp.hdr' reference as parameter and size of 'resp' as
> length.
>
>   sizeof(struct virtio_gpu_ctrl_hdr): 24
>   sizeof(struct virtio_gpu_resp_capset_info): 40
>
> It may cause OOB access.

Where is the OOB access? I don't see this.
vg_ctrl_response is a general function so it accepts 'struct
virtio_gpu_ctrl_hdr' pointer and will
just set the 'hdr' field. The 'resp_len' is just used in
'iov_from_buf' to copy data to the vring.
The 'hdr' is the first field of 'virtio_gpu_resp_capset_info'.

struct virtio_gpu_resp_capset_info {
    struct virtio_gpu_ctrl_hdr hdr;
    uint32_t capset_id;
    uint32_t capset_max_version;
    uint32_t capset_max_size;
    uint32_t padding;
};

So here:
vg_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
&resp.hdr is the same as &resp.


Thanks,
Li Qiang


>
> Thank you.
> --
>  - P J P
> 8685 545E B54C 486B C6EB 271E E285 8B5A F050 DE8D


  reply	other threads:[~2021-05-06  7:50 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05  4:58 [PATCH 0/7] vhost-user-gpu: fix several security issues Li Qiang
2021-05-05  4:58 ` [PATCH 1/7] vhost-user-gpu: fix memory disclosure in virgl_cmd_get_capset_info Li Qiang
2021-05-05  7:23   ` P J P
2021-05-05  9:07     ` Li Qiang
2021-05-06  5:53       ` P J P
2021-05-06  7:49         ` Li Qiang [this message]
2021-05-05  4:58 ` [PATCH 2/7] vhost-user-gpu: fix resource leak in 'vg_resource_create_2d' Li Qiang
2021-05-05  7:28   ` P J P
2021-05-05  4:58 ` [PATCH 3/7] vhost-user-gpu: fix memory leak in vg_resource_attach_backing Li Qiang
2021-05-05  7:39   ` P J P
2021-05-05  9:11     ` Li Qiang
2021-05-05  4:58 ` [PATCH 4/7] vhost-user-gpu: fix memory link while calling 'vg_resource_unref' Li Qiang
2021-05-05  7:42   ` P J P
2021-05-05  4:58 ` [PATCH 5/7] vhost-user-gpu: fix memory leak in 'virgl_cmd_resource_unref' Li Qiang
2021-05-05  7:48   ` P J P
2021-05-05  9:14     ` Li Qiang
2021-05-05  4:58 ` [PATCH 6/7] vhost-user-gpu: fix memory leak in 'virgl_resource_attach_backing' Li Qiang
2021-05-05  7:55   ` P J P
2021-05-05  9:07     ` Marc-André Lureau
2021-05-05  9:23       ` Li Qiang
2021-05-05  9:33         ` Marc-André Lureau
2021-05-05  4:58 ` [PATCH 7/7] vhost-user-gpu: fix OOB write in 'virgl_cmd_get_capset' Li Qiang
2021-05-05  7:58   ` P J P
2021-05-05  9:10 ` [PATCH 0/7] vhost-user-gpu: fix several security issues Marc-André Lureau
2021-05-05  9:27   ` Li Qiang
2021-05-05  9:35     ` Marc-André Lureau
2021-05-10 19:25       ` Philippe Mathieu-Daudé
2021-05-11  2:49         ` Li Qiang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAKXe6S+sce2CQq3f2oT-fbB0Z8dKZ6aReYHkg2K+TDfiAaCkyg@mail.gmail.com \
    --to=liq3ea@gmail.com \
    --cc=kraxel@redhat.com \
    --cc=liq3ea@163.com \
    --cc=marcandre.lureau@redhat.com \
    --cc=ppandit@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).