All of lore.kernel.org
 help / color / mirror / Atom feed
From: Suraj Sonawane <surajsonawane0215@gmail.com>
To: Alison Schofield <alison.schofield@intel.com>
Cc: dan.j.williams@intel.com, vishal.l.verma@intel.com,
	dave.jiang@intel.com, ira.weiny@intel.com, rafael@kernel.org,
	lenb@kernel.org, nvdimm@lists.linux.dev,
	linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org,
	syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
Subject: Re: [PATCH v2] acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl
Date: Wed, 13 Nov 2024 14:36:08 +0530	[thread overview]
Message-ID: <d777ec88-f8a8-499c-b9de-9efefa638eb6@gmail.com> (raw)
In-Reply-To: <ZzQwXXSwioLsG8vv@aschofie-mobl2.lan>

On 13/11/24 10:21, Alison Schofield wrote:
> On Tue, Nov 12, 2024 at 10:50:35AM +0530, Suraj Sonawane wrote:
>> Fix an issue detected by syzbot with KASAN:
>>
>> BUG: KASAN: vmalloc-out-of-bounds in cmd_to_func drivers/acpi/nfit/
>> core.c:416 [inline]
>> BUG: KASAN: vmalloc-out-of-bounds in acpi_nfit_ctl+0x20e8/0x24a0
>> drivers/acpi/nfit/core.c:459
>>
>> The issue occurs in `cmd_to_func` when the `call_pkg->nd_reserved2`
>> array is accessed without verifying that `call_pkg` points to a
>> buffer that is sized appropriately as a `struct nd_cmd_pkg`. This
>> could lead to out-of-bounds access and undefined behavior if the
>> buffer does not have sufficient space.
>>
>> To address this issue, a check was added in `acpi_nfit_ctl()` to
>> ensure that `buf` is not `NULL` and `buf_len` is greater than or
>> equal to `sizeof(struct nd_cmd_pkg)` before casting `buf` to
>> `struct nd_cmd_pkg *`. This ensures safe access to the members of
>> `call_pkg`, including the `nd_reserved2` array.
>>
>> This change preventing out-of-bounds reads.
>>
>> Reported-by: syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
>> Closes: https://syzkaller.appspot.com/bug?extid=7534f060ebda6b8b51b3
>> Tested-by: syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com
>> Fixes: 2d5404caa8c7 ("Linux 6.12-rc7")
>> Signed-off-by: Suraj Sonawane <surajsonawane0215@gmail.com>
> 
> Suraj,
> 
> The fixes tag needs to be where the issue originated, not
> where you discovered it (which I'm guessing was using 6.12-rc7).
> 
Thank you for your feedback.

> Here's how I find the tag:
> 
> $ git blame drivers/acpi/nfit/core.c | grep call_pkg | grep buf
> ebe9f6f19d80d drivers/acpi/nfit/core.c (Dan Williams       2019-02-07 14:56:50 -0800  458) 		call_pkg = buf;
> 
> $ git log -1 --pretty=fixes ebe9f6f19d80d

Thank you for this detailed explaination.
> Fixes: ebe9f6f19d80 ("acpi/nfit: Fix bus command validation")
> 
> I think ^ should be your Fixes tag.

Yes, I ran the provided steps to verify the commit ID ebe9f6f19d80d and 
verified it.
> 
> 
> snip
> 
>>

I'll update the Fixes tag in the next version of the patch. 
Additionally, I will re-test with syzbot and submit the revised patch 
shortly.

Thank you for your time and feedback!

Best,
Suraj Sonawane

      reply	other threads:[~2024-11-13  9:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-12  5:20 [PATCH v2] acpi: nfit: vmalloc-out-of-bounds Read in acpi_nfit_ctl Suraj Sonawane
2024-11-13  4:38 ` Alison Schofield
2024-11-13  8:41   ` Suraj Sonawane
2024-11-13  4:51 ` Alison Schofield
2024-11-13  9:06   ` Suraj Sonawane [this message]

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=d777ec88-f8a8-499c-b9de-9efefa638eb6@gmail.com \
    --to=surajsonawane0215@gmail.com \
    --cc=alison.schofield@intel.com \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=ira.weiny@intel.com \
    --cc=lenb@kernel.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nvdimm@lists.linux.dev \
    --cc=rafael@kernel.org \
    --cc=syzbot+7534f060ebda6b8b51b3@syzkaller.appspotmail.com \
    --cc=vishal.l.verma@intel.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.