mirror of
https://github.com/godotengine/buildroot.git
synced 2026-01-04 06:10:16 +03:00
Fixes the following security vulnerablities:
- CVE-2018-1000222: Libgd version 2.2.5 contains a Double Free Vulnerability
vulnerability in gdImageBmpPtr Function that can result in Remote Code
Execution . This attack appear to be exploitable via Specially Crafted
Jpeg Image can trigger double free
- CVE-2018-5711: gd_gif_in.c in the GD Graphics Library (aka libgd), as used
in PHP before 5.6.33, 7.0.x before 7.0.27, 7.1.x before 7.1.13, and 7.2.x
before 7.2.1, has an integer signedness error that leads to an infinite
loop via a crafted GIF file, as demonstrated by a call to the
imagecreatefromgif or imagecreatefromstring PHP function
- CVE-2019-11038: When using the gdImageCreateFromXbm() function in the GD
Graphics Library (aka LibGD) 2.2.5, as used in the PHP GD extension in PHP
versions 7.1.x below 7.1.30, 7.2.x below 7.2.19 and 7.3.x below 7.3.6, it
is possible to supply data that will cause the function to use the value
of uninitialized variable. This may lead to disclosing contents of the
stack that has been left there by previous code
- CVE-2019-6978: The GD Graphics Library (aka LibGD) 2.2.5 has a double free
in the gdImage*Ptr() functions in gd_gif_out.c, gd_jpeg.c, and gd_wbmp.c
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 505a70edbe)
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
42 lines
1.3 KiB
Diff
42 lines
1.3 KiB
Diff
From e13a342c079aeb73e31dfa19eaca119761bac3f3 Mon Sep 17 00:00:00 2001
|
|
From: Jonas Meurer <jonas@freesources.org>
|
|
Date: Tue, 11 Jun 2019 12:16:46 +0200
|
|
Subject: [PATCH] Fix #501: Uninitialized read in gdImageCreateFromXbm
|
|
(CVE-2019-11038)
|
|
|
|
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2019-11038
|
|
Bug-Debian: https://bugs.debian.org/929821
|
|
Bug: https://github.com/libgd/libgd/issues/501
|
|
|
|
We have to ensure that `sscanf()` does indeed read a hex value here,
|
|
and bail out otherwise.
|
|
|
|
Original patch by Christoph M. Becker <cmbecker69@gmx.de> for PHP libgd ext.
|
|
https://git.php.net/?p=php-src.git;a=commit;h=ed6dee9a198c904ad5e03113e58a2d2c200f5184
|
|
|
|
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
|
|
---
|
|
src/gd_xbm.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/gd_xbm.c b/src/gd_xbm.c
|
|
index 4ca41ac..cf0545e 100644
|
|
--- a/src/gd_xbm.c
|
|
+++ b/src/gd_xbm.c
|
|
@@ -169,7 +169,11 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm(FILE * fd)
|
|
}
|
|
h[3] = ch;
|
|
}
|
|
- sscanf(h, "%x", &b);
|
|
+ if (sscanf(h, "%x", &b) != 1) {
|
|
+ gd_error("invalid XBM");
|
|
+ gdImageDestroy(im);
|
|
+ return 0;
|
|
+ }
|
|
for (bit = 1; bit <= max_bit; bit = bit << 1) {
|
|
gdImageSetPixel(im, x++, y, (b & bit) ? 1 : 0);
|
|
if (x == im->sx) {
|
|
--
|
|
2.20.1
|
|
|