From: "Graf (AWS), Alexander" <graf@amazon.de>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"hexlabsecurity@proton.me" <hexlabsecurity@proton.me>
Cc: Arnd Bergmann <arnd@arndb.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
The AWS Nitro Enclaves Team <aws-nitro-enclaves-devel@amazon.com>
Subject: Re: [PATCH] misc: nsm: bound the device-reported response length
Date: Sun, 21 Jun 2026 08:07:04 +0000 [thread overview]
Message-ID: <5fa26d33-fb13-4f74-b972-43b460ac916d@amazon.com> (raw)
In-Reply-To: <2026062124-unsalted-wiry-6920@gregkh>
On 21.06.26 07:38, Greg Kroah-Hartman wrote:
> On Sat, Jun 20, 2026 at 09:42:11PM -0500, Bryam Vargas via B4 Relay wrote:
>> From: Bryam Vargas <hexlabsecurity@proton.me>
>>
>> nsm_sendrecv_msg_locked() stores the virtqueue used-ring length reported
>> by the NSM device into msg->resp.len without bounding it to the response
>> buffer. A malicious or buggy backend can report a length larger than the
>> response buffer; parse_resp_raw() then copies that many bytes out of the
>> fixed buffer to user space, disclosing adjacent kernel heap (an
>> out-of-bounds read). The request path already floors its length in
>> fill_req_raw(); the response path lacks the symmetric check.
>>
>> Clamp the stored length to the size of the response buffer. Well-behaved
>> devices report no more than the posted buffer size, so conforming traffic
>> is unaffected.
> Is this really the only place where a "buggy" device that is bound to
> the driver can cause any problems? Shouldn't the driver only be bound
> to trusted devices to start with?
It's close to impossible to understand whether the backing device is
"trusted" or not from a VM's point of view. Even all the fancy "trusted
PCIe" logic is about as secure as "secure HDMI": not at all. The best
thing a VM can do is trust specific drivers IMHO to reduce its TCB. I
think as a stick in the ground saying "all virtio drivers are trusted"
makes a lot of sense given that a lot of the virtualized world runs on
virtio.
Bryam, under that premise, could you please also look at other parts of
the nsm driver that could potentially break the premise of a malicious
host? A quick AI scan revealed that the cbor_short_size switch has no
default branch, which leads to uninitialized array_len. Since the report
looks heavily AI influenced, maybe yours actually finds more?
For this patch:
Reviewed-by: Alexander Graf <graf@amazon.com>
Thanks,
Alex
Amazon Web Services Development Center Germany GmbH
Tamara-Danz-Str. 13
10243 Berlin
Geschaeftsfuehrung: Christof Hellmis, Andreas Stieger
Eingetragen am Amtsgericht Charlottenburg unter HRB 257764 B
Sitz: Berlin
Ust-ID: DE 365 538 597
next prev parent reply other threads:[~2026-06-21 8:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-21 2:42 Bryam Vargas via B4 Relay
2026-06-21 5:38 ` Greg Kroah-Hartman
2026-06-21 8:07 ` Graf (AWS), Alexander [this message]
2026-06-22 7:50 ` Bryam Vargas
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=5fa26d33-fb13-4f74-b972-43b460ac916d@amazon.com \
--to=graf@amazon.de \
--cc=arnd@arndb.de \
--cc=aws-nitro-enclaves-devel@amazon.com \
--cc=gregkh@linuxfoundation.org \
--cc=hexlabsecurity@proton.me \
--cc=linux-kernel@vger.kernel.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
all inboxes | Powered by JetHome®