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
next prev parent 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).