Re: [PATCH v3] lz4: fix LZ4_decompress_safe_partial read out of bound

From: Gao Xiang
Date: Sat Apr 02 2022 - 00:55:55 EST


On Fri, Nov 19, 2021 at 06:23:24PM +0000, Nick Terrell wrote:
>
>
> > On Nov 11, 2021, at 2:50 AM, Guo Xuenan <guoxuenan@xxxxxxxxxx> wrote:
> >
> > When partialDecoding, it is EOF if we've either, filled the output
> > buffer or can't proceed with reading an offset for following match.
> >
> > In some extreme corner cases when compressed data is crusted corrupted,
> > UAF will occur. As reported by KASAN [1], LZ4_decompress_safe_partial
> > may lead to read out of bound problem during decoding. lz4 upstream has
> > fixed it [2] and this issue has been disscussed here [3] before.
> >
> > current decompression routine was ported from lz4 v1.8.3, bumping lib/lz4
> > to v1.9.+ is certainly a huge work to be done later, so, we'd better fix
> > it first.
> >
> > [1] https://lore.kernel.org/all/000000000000830d1205cf7f0477@xxxxxxxxxx/
> > [2] https://github.com/lz4/lz4/commit/c5d6f8a8be3927c0bec91bcc58667a6cfad244ad#
> > [3] https://lore.kernel.org/all/CC666AE8-4CA4-4951-B6FB-A2EFDE3AC03B@xxxxxx/
> >
> > Reported-by: syzbot+63d688f1d899c588fb71@xxxxxxxxxxxxxxxxxxxxxxxxx
> > Cc: hsiangkao@xxxxxxxxxxxxxxxxx
> > Cc: terrelln@xxxxxx
> > Cc: cyan@xxxxxx
> > Cc: cy.fan@xxxxxxxxxx
> > Signed-off-by: Guo Xuenan <guoxuenan@xxxxxxxxxx>
>
> Sorry I’m a bit late to the party, but this looks good to me!
>
> Reviewed-by: Nick Terrell <terrelln@xxxxxx>

Acked-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>

Hi Andrew,

This patch has already been pending for 2 release cycles.. Would you
mind submitting it upstream? Or are there other concerns about this?

Many thanks!
Gao Xiang