[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20210204165326.7700111635890f9476b479ae@linux-foundation.org>
Date: Thu, 4 Feb 2021 16:53:26 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Phillip Lougher <phillip@...ashfs.org.uk>
Cc: linux-kernel@...r.kernel.org,
syzbot+6fba78f99b9afd4b5634@...kaller.appspotmail.com
Subject: Re: [PATCH 1/4] Squashfs: avoid out of bounds writes in
decompressors
On Thu, 4 Feb 2021 13:02:46 +0000 Phillip Lougher <phillip@...ashfs.org.uk> wrote:
> This is a regression introduced by the patch "migrate from ll_rw_block
> usage to BIO".
Fixes: 93e72b3c612adc ("squashfs: migrate from ll_rw_block usage to BIO")
> Sysbot/Syskaller has reported a number of "out of bounds writes" and
> "unable to handle kernel paging request in squashfs_decompress" errors
> which have been identified as a regression introduced by the above patch.
>
> Specifically, the patch removed the following sanity check
>
> if (length < 0 || length > output->length ||
> (index + length) > msblk->bytes_used)
>
> This check did two things:
>
> 1. It ensured any reads were not beyond the end of the filesystem
>
> 2. It ensured that the "length" field read from the filesystem
> was within the expected maximum length. Without this any
> corrupted values can over-run allocated buffers.
>
All sounds fairly serious. Should I add a cc:stable to this?
Powered by blists - more mailing lists