[OE-core] [PATCH] unzip: fix for CVE-2018-18384

akuster808 akuster808 at gmail.com
Fri Nov 9 16:08:31 UTC 2018


On 11/1/18 11:08 PM, changqing.li at windriver.com wrote:
> From: Changqing Li <changqing.li at windriver.com>
>
> Signed-off-by: Changqing Li <changqing.li at windriver.com>
> ---
>  .../unzip/unzip/CVE-2018-18384.patch               | 39 ++++++++++++++++++++++


Change missing update to bb file

- armin

>  1 file changed, 39 insertions(+)
>  create mode 100644 meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
>
> diff --git a/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch b/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
> new file mode 100644
> index 0000000..cc9e2c1
> --- /dev/null
> +++ b/meta/recipes-extended/unzip/unzip/CVE-2018-18384.patch
> @@ -0,0 +1,39 @@
> +Upstream-Status: Backport [https://sourceforge.net/p/infozip/bugs/53/]
> +CVE: CVE-2018-18384
> +Signed-off-by: Changqing Li <changqing.li at windriver.com>
> +
> +--- unzip60/list.c	
> ++++ unzip60/list.c	
> +@@ -97,7 +97,7 @@ int list_files(__G)    /* return PK-type
> + {
> +     int do_this_file=FALSE, cfactor, error, error_in_archive=PK_COOL;
> + #ifndef WINDLL
> +-    char sgn, cfactorstr[10];
> ++    char sgn, cfactorstr[1+10+1+1];	/* <sgn><int>%NUL */
> +     int longhdr=(uO.vflag>1);
> + #endif
> +     int date_format;
> +@@ -389,9 +389,9 @@ int list_files(__G)    /* return PK-type
> +             }
> + #else /* !WINDLL */
> +             if (cfactor == 100)
> +-                sprintf(cfactorstr, LoadFarString(CompFactor100));
> ++                snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
> +             else
> +-                sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
> ++                snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
> +             if (longhdr)
> +                 Info(slide, 0, ((char *)slide, LoadFarString(LongHdrStats),
> +                   FmZofft(G.crec.ucsize, "8", "u"), methbuf,
> +@@ -471,9 +471,9 @@ int list_files(__G)    /* return PK-type
> + 
> + #else /* !WINDLL */
> +         if (cfactor == 100)
> +-            sprintf(cfactorstr, LoadFarString(CompFactor100));
> ++            snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactor100));
> +         else
> +-            sprintf(cfactorstr, LoadFarString(CompFactorStr), sgn, cfactor);
> ++            snprintf(cfactorstr, sizeof(cfactorstr), LoadFarString(CompFactorStr), sgn, cfactor);
> +         if (longhdr) {
> +             Info(slide, 0, ((char *)slide, LoadFarString(LongFileTrailer),
> +               FmZofft(tot_ucsize, "8", "u"), FmZofft(tot_csize, "8", "u"),


More information about the Openembedded-core mailing list