public inbox for stable@vger.kernel.org
 help / color / mirror / Atom feed
From: Vadim Fedorenko <vadim.fedorenko@linux.dev>
To: Deepak Sharma <deepak.sharma.472935@gmail.com>, krzk@kernel.org
Cc: netdev@vger.kernel.org, stable@vger.kernel.org,
	linux-kernel-mentees@lists.linux.dev,
	syzbot+740e04c2a93467a0f8c8@syzkaller.appspotmail.com
Subject: Re: [PATCH net v3] net: nfc: nci: Add parameter validation for packet data
Date: Fri, 19 Sep 2025 11:59:16 +0100	[thread overview]
Message-ID: <61e38165-fa9f-4078-8499-a9c12449ae95@linux.dev> (raw)
In-Reply-To: <20250919064545.4252-1-deepak.sharma.472935@gmail.com>

On 19/09/2025 07:45, Deepak Sharma wrote:
> Syzbot reported an uninit-value bug at nci_init_req for commit
> 5aca7966d2a7 ("Merge tag 'perf-tools-fixes-for-v6.17-2025-09-16'..).
> 
> This bug arises due to very limited and poor input validation
> that was done at nic_valid_size(). This validation only
> validates the skb->len (directly reflects size provided at the
> userspace interface) with the length provided in the buffer
> itself (interpreted as NCI_HEADER). This leads to the processing
> of memory content at the address assuming the correct layout
> per what opcode requires there. This leads to the accesses to
> buffer of `skb_buff->data` which is not assigned anything yet.
> 
> Following the same silent drop of packets of invalid sizes at
> `nic_valid_size()`, add validation of the data in the respective
> handlers and return error values in case of failure. Release
> the skb if error values are returned from handlers in
> `nci_nft_packet` and effectively do a silent drop
> 
> Possible TODO: because we silently drop the packets, the
> call to `nci_request` will be waiting for completion of request
> and will face timeouts. These timeouts can get excessively logged
> in the dmesg. A proper handling of them may require to export
> `nci_request_cancel` (or propagate error handling from the
> nft packets handlers).
> 
> Reported-by: syzbot+740e04c2a93467a0f8c8@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=740e04c2a93467a0f8c8
> Fixes: 6a2968aaf50c ("NFC: basic NCI protocol implementation)
> Tested-by: syzbot+740e04c2a93467a0f8c8@syzkaller.appspotmail.com
> Signed-off-by: Deepak Sharma <deepak.sharma.472935@gmail.com>
> ---
> v3:
>   - Move the checks inside the packet data handlers
>   - Improvements to the commit message
> 
> v2:
>   - Fix the release of skb in case of the early return
> 
> v1:
>   - Add checks in `nci_ntf_packet` on the skb->len and do early return
>     on failure
> 

LGTM,
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>

  parent reply	other threads:[~2025-09-19 10:59 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-19  6:45 [PATCH net v3] net: nfc: nci: Add parameter validation for packet data Deepak Sharma
2025-09-19  6:50 ` kernel test robot
2025-09-19 10:59 ` Vadim Fedorenko [this message]
2025-09-19 18:52 ` Simon Horman

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=61e38165-fa9f-4078-8499-a9c12449ae95@linux.dev \
    --to=vadim.fedorenko@linux.dev \
    --cc=deepak.sharma.472935@gmail.com \
    --cc=krzk@kernel.org \
    --cc=linux-kernel-mentees@lists.linux.dev \
    --cc=netdev@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=syzbot+740e04c2a93467a0f8c8@syzkaller.appspotmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox