Thanks, I've committed a tweaked version. On 2019/06/24 16:28, Henry Jensen wrote: > Greetings, > > attached diff fixes CVE-2019-12900 (BZ2_decompress in decompress.c in > bzip2 through 1.0.6 has an out-of-bounds write when there are many > selectors.) The vulnerability has a CVSS v3.0 score of 9.8 "CRITICAL". > > It is essentially the patch from > https://gitlab.com/federicomenaquintero/bzip2/commit/74de1e2e6ffc9d51ef9824db71a8ffee5962cdbc > > Comments? > > Kind Regards, > > Henry
> diff -urN archivers/bzip2/Makefile mystuff/archivers/bzip2/Makefile > --- archivers/bzip2/Makefile Fri Aug 24 21:06:12 2018 > +++ mystuff/archivers/bzip2/Makefile Mon Jun 24 15:37:39 2019 > @@ -3,7 +3,7 @@ > COMMENT= block-sorting file compressor, unencumbered > > DISTNAME= bzip2-1.0.6 > -REVISION= 9 > +REVISION= 10 > > CATEGORIES= archivers > > diff -urN archivers/bzip2/patches/patch-decompress_c > mystuff/archivers/bzip2/patches/patch-decompress_c > --- archivers/bzip2/patches/patch-decompress_c Thu Jan 1 01:00:00 1970 > +++ mystuff/archivers/bzip2/patches/patch-decompress_c Mon Jun 24 > 15:50:00 2019 > @@ -0,0 +1,12 @@ > +Index: decompress.c > +--- decompress.c.orig > ++++ decompress.c > +@@ -287,7 +287,7 @@ Int32 BZ2_decompress ( DState* s ) > + GET_BITS(BZ_X_SELECTOR_1, nGroups, 3); > + if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR); > + GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15); > +- if (nSelectors < 1) RETURN(BZ_DATA_ERROR); > ++ if (nSelectors < 1 || nSelectors > BZ_MAX_SELECTORS) > RETURN(BZ_DATA_ERROR); > + for (i = 0; i < nSelectors; i++) { > + j = 0; > + while (True) {