[Buildroot] [PATCH 1/1] package/cairo: fix CVE-2018-19876

Yann E. MORIN yann.morin.1998 at free.fr
Sun Mar 1 15:42:35 UTC 2020


Fabrice, All,

On 2020-02-29 21:00 +0100, Fabrice Fontaine spake thusly:
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

As per Peter's review, this is a long shot for a security fix: better
backport the two patches (+autoreconf) for master. The version bump can
then be respun for next or after the merge.

I've marked this as chages-requested in patchwork.

Regards,
Yann E. MORIN.

> ---
>  ...vailable-in-cairo_ft_apply_variation.patch | 33 +++++++++++++++++++
>  package/cairo/cairo.mk                        |  3 ++
>  2 files changed, 36 insertions(+)
>  create mode 100644 package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
> 
> diff --git a/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch b/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
> new file mode 100644
> index 0000000000..10e000d16f
> --- /dev/null
> +++ b/package/cairo/0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
> @@ -0,0 +1,33 @@
> +From 90e85c2493fdfa3551f202ff10282463f1e36645 Mon Sep 17 00:00:00 2001
> +From: Carlos Garcia Campos <cgarcia at igalia.com>
> +Date: Mon, 19 Nov 2018 12:33:07 +0100
> +Subject: [PATCH] ft: Use FT_Done_MM_Var instead of free when available in
> + cairo_ft_apply_variations
> +
> +Fixes a crash when using freetype >= 2.9
> +[Retrieved from:
> +https://gitlab.freedesktop.org/cairo/cairo/-/commit/90e85c2493fdfa3551f202ff10282463f1e36645]
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +---
> + src/cairo-ft-font.c | 4 ++++
> + 1 file changed, 4 insertions(+)
> +
> +diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
> +index 325dd61b4..981973f78 100644
> +--- a/src/cairo-ft-font.c
> ++++ b/src/cairo-ft-font.c
> +@@ -2393,7 +2393,11 @@ skip:
> + done:
> +         free (coords);
> +         free (current_coords);
> ++#if HAVE_FT_DONE_MM_VAR
> ++        FT_Done_MM_Var (face->glyph->library, ft_mm_var);
> ++#else
> +         free (ft_mm_var);
> ++#endif
> +     }
> + }
> + 
> +-- 
> +2.24.1
> +
> diff --git a/package/cairo/cairo.mk b/package/cairo/cairo.mk
> index 902f505aaa..c6a3dad932 100644
> --- a/package/cairo/cairo.mk
> +++ b/package/cairo/cairo.mk
> @@ -11,6 +11,9 @@ CAIRO_LICENSE_FILES = COPYING COPYING-LGPL-2.1 COPYING-MPL-1.1
>  CAIRO_SITE = http://cairographics.org/releases
>  CAIRO_INSTALL_STAGING = YES
>  
> +# 0002-ft-Use-FT_Done_MM_Var-instead-of-free-when-available-in-cairo_ft_apply_variation.patch
> +CAIRO_IGNORE_CVES += CVE-2018-19876
> +
>  # relocation truncated to fit: R_68K_GOT16O
>  ifeq ($(BR2_m68k_cf),y)
>  CAIRO_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -mxgot"
> -- 
> 2.25.0
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list