diff mbox series

[kirkstone,1/1] pixman: fix CVE-2022-44638

Message ID 20221212160827.894775-1-soumya.sambu@windriver.com
State New, archived
Headers show
Series [kirkstone,1/1] pixman: fix CVE-2022-44638 | expand

Commit Message

ssambu Dec. 12, 2022, 4:08 p.m. UTC
pixman: In libpixman in Pixman before 0.42.2, there is an out-of-bounds write
(aka heap-based buffer overflow) in rasterize_edges_8 due to an integer
overflow in pixman_sample_floor_y.

References:
https://nvd.nist.gov/vuln/detail/CVE-2022-44638

Upstream-Status: Backport [https://gitlab.freedesktop.org/pixman/pixman/-/commit/a1f88e842e0216a5b4df1ab023caebe33c101395]

CVE: CVE-2022-44638

Signed-off-by: Soumya <soumya.sambu@windriver.com>
---
 .../xorg-lib/pixman/CVE-2022-44638.patch      | 36 +++++++++++++++++++
 .../xorg-lib/pixman_0.40.0.bb                 |  1 +
 2 files changed, 37 insertions(+)
 create mode 100644 meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch

Comments

Steve Sakoman Dec. 12, 2022, 4:35 p.m. UTC | #1
I think you may not be using the current kirkstone head, there was a
patch accepted for this CVE last month:

https://git.openembedded.org/openembedded-core/commit/?h=kirkstone&id=1d2e131d9ba55626354264d454b2808e84751600

Thanks!

Steve

On Mon, Dec 12, 2022 at 6:08 AM Soumya <soumya.sambu@windriver.com> wrote:
>
> pixman: In libpixman in Pixman before 0.42.2, there is an out-of-bounds write
> (aka heap-based buffer overflow) in rasterize_edges_8 due to an integer
> overflow in pixman_sample_floor_y.
>
> References:
> https://nvd.nist.gov/vuln/detail/CVE-2022-44638
>
> Upstream-Status: Backport [https://gitlab.freedesktop.org/pixman/pixman/-/commit/a1f88e842e0216a5b4df1ab023caebe33c101395]
>
> CVE: CVE-2022-44638
>
> Signed-off-by: Soumya <soumya.sambu@windriver.com>
> ---
>  .../xorg-lib/pixman/CVE-2022-44638.patch      | 36 +++++++++++++++++++
>  .../xorg-lib/pixman_0.40.0.bb                 |  1 +
>  2 files changed, 37 insertions(+)
>  create mode 100644 meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch
>
> diff --git a/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch b/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch
> new file mode 100644
> index 0000000000..5705d8e4e5
> --- /dev/null
> +++ b/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch
> @@ -0,0 +1,36 @@
> +From a1f88e842e0216a5b4df1ab023caebe33c101395 Mon Sep 17 00:00:00 2001
> +From: Matt Turner <mattst88@gmail.com>
> +Date: Wed, 2 Nov 2022 12:07:32 -0400
> +Subject: [PATCH] Avoid integer overflow leading to out-of-bounds write
> +
> +Thanks to Maddie Stone and Google's Project Zero for discovering this
> +issue, providing a proof-of-concept, and a great analysis.
> +
> +Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/63
> +
> +Upstream-Status: Backport
> +CVE: CVE-2022-44638
> +
> +Reference to upstream patch:
> +[https://gitlab.freedesktop.org/pixman/pixman/-/commit/a1f88e842e0216a5b4df1ab023caebe33c101395]
> +
> +Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
> +---
> + pixman/pixman-trap.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/pixman/pixman-trap.c b/pixman/pixman-trap.c
> +index 91766fd..7560405 100644
> +--- a/pixman/pixman-trap.c
> ++++ b/pixman/pixman-trap.c
> +@@ -74,7 +74,7 @@ pixman_sample_floor_y (pixman_fixed_t y,
> +
> +     if (f < Y_FRAC_FIRST (n))
> +     {
> +-      if (pixman_fixed_to_int (i) == 0x8000)
> ++      if (pixman_fixed_to_int (i) == 0xffff8000)
> +       {
> +           f = 0; /* saturate */
> +       }
> +--
> +2.38.1
> diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
> index ccfe277746..c56733eefd 100644
> --- a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
> +++ b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
> @@ -9,6 +9,7 @@ DEPENDS = "zlib"
>
>  SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
>             file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
> +           file://CVE-2022-44638.patch \
>             "
>  SRC_URI[md5sum] = "73858c0862dd9896fb5f62ae267084a4"
>  SRC_URI[sha256sum] = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc"
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#174498): https://lists.openembedded.org/g/openembedded-core/message/174498
> Mute This Topic: https://lists.openembedded.org/mt/95624429/3620601
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [steve@sakoman.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
diff mbox series

Patch

diff --git a/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch b/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch
new file mode 100644
index 0000000000..5705d8e4e5
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/pixman/CVE-2022-44638.patch
@@ -0,0 +1,36 @@ 
+From a1f88e842e0216a5b4df1ab023caebe33c101395 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Wed, 2 Nov 2022 12:07:32 -0400
+Subject: [PATCH] Avoid integer overflow leading to out-of-bounds write
+
+Thanks to Maddie Stone and Google's Project Zero for discovering this
+issue, providing a proof-of-concept, and a great analysis.
+
+Closes: https://gitlab.freedesktop.org/pixman/pixman/-/issues/63
+
+Upstream-Status: Backport
+CVE: CVE-2022-44638
+
+Reference to upstream patch:
+[https://gitlab.freedesktop.org/pixman/pixman/-/commit/a1f88e842e0216a5b4df1ab023caebe33c101395]
+
+Signed-off-by: Stefan Ghinea <stefan.ghinea@windriver.com>
+---
+ pixman/pixman-trap.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/pixman/pixman-trap.c b/pixman/pixman-trap.c
+index 91766fd..7560405 100644
+--- a/pixman/pixman-trap.c
++++ b/pixman/pixman-trap.c
+@@ -74,7 +74,7 @@ pixman_sample_floor_y (pixman_fixed_t y,
+
+     if (f < Y_FRAC_FIRST (n))
+     {
+-	if (pixman_fixed_to_int (i) == 0x8000)
++	if (pixman_fixed_to_int (i) == 0xffff8000)
+	{
+	    f = 0; /* saturate */
+	}
+--
+2.38.1
diff --git a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
index ccfe277746..c56733eefd 100644
--- a/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
+++ b/meta/recipes-graphics/xorg-lib/pixman_0.40.0.bb
@@ -9,6 +9,7 @@  DEPENDS = "zlib"
 
 SRC_URI = "https://www.cairographics.org/releases/${BP}.tar.gz \
            file://0001-ARM-qemu-related-workarounds-in-cpu-features-detecti.patch \
+           file://CVE-2022-44638.patch \
            "
 SRC_URI[md5sum] = "73858c0862dd9896fb5f62ae267084a4"
 SRC_URI[sha256sum] = "6d200dec3740d9ec4ec8d1180e25779c00bc749f94278c8b9021f5534db223fc"