* [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633
@ 2026-02-25 20:28 Thomas Perale via buildroot
2026-02-25 21:15 ` Julien Olivain via buildroot
2026-03-06 19:53 ` Thomas Perale via buildroot
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Perale via buildroot @ 2026-02-25 20:28 UTC (permalink / raw)
To: buildroot
Fixes the following vulnerabilities:
- CVE-2018-6952:
A double free exists in the another_hunk function in pch.c in GNU
patch through 2.7.6.
For more information, see:
- https://www.cve.org/CVERecord?id=CVE-2018-6952
- https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
- CVE-2019-20633:
GNU patch through 2.7.6 contains a free(p_line[p_end]) Double Free
vulnerability in the function another_hunk in pch.c that can cause a
denial of service via a crafted patch file. NOTE: this issue exists
because of an incomplete fix for CVE-2018-6952.
For more information, see:
- https://www.cve.org/CVERecord?id=CVE-2019-20633
- https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
---
...-Fix-swapping-fake-lines-in-pch-swap.patch | 33 +++++++++++++++++++
...emory-access-in-context-format-diffs.patch | 30 +++++++++++++++++
package/patch/patch.mk | 6 ++++
3 files changed, 69 insertions(+)
create mode 100644 package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
create mode 100644 package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
diff --git a/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch b/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
new file mode 100644
index 0000000000..6fd63dff53
--- /dev/null
+++ b/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
@@ -0,0 +1,33 @@
+From 9c986353e420ead6e706262bf204d6e03322c300 Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Fri, 17 Aug 2018 13:35:40 +0200
+Subject: Fix swapping fake lines in pch_swap
+
+* src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
+blank line in the middle of a context-diff hunk: that empty line stays
+in the middle of the hunk and isn't swapped.
+
+Fixes: https://savannah.gnu.org/bugs/index.php?53133
+CVE: CVE-2018-6952
+Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
+Signed-off-by: Thomas Perale <thomas.perale@mind.be>
+---
+ src/pch.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/pch.c b/src/pch.c
+index e92bc64..a500ad9 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -2115,7 +2115,7 @@ pch_swap (void)
+ }
+ if (p_efake >= 0) { /* fix non-freeable ptr range */
+ if (p_efake <= i)
+- n = p_end - i + 1;
++ n = p_end - p_ptrn_lines;
+ else
+ n = -i;
+ p_efake += n;
+--
+cgit v1.2.3
+
diff --git a/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch b/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
new file mode 100644
index 0000000000..5ffe3699ef
--- /dev/null
+++ b/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
@@ -0,0 +1,30 @@
+From 15b158db3ae11cb835f2eb8d2eb48e09d1a4af48 Mon Sep 17 00:00:00 2001
+From: Andreas Gruenbacher <agruen@gnu.org>
+Date: Mon, 15 Jul 2019 19:10:02 +0200
+Subject: Avoid invalid memory access in context format diffs
+
+* src/pch.c (another_hunk): Avoid invalid memory access in context format
+diffs.
+
+CVE: CVE-2019-20633
+Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
+Signed-off-by: Thomas Perale <thomas.perale@mind.be>
+---
+ src/pch.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/pch.c b/src/pch.c
+index a500ad9..cb54e03 100644
+--- a/src/pch.c
++++ b/src/pch.c
+@@ -1327,6 +1327,7 @@ another_hunk (enum diff difftype, bool rev)
+ ptrn_prefix_context = context;
+ ptrn_suffix_context = context;
+ if (repl_beginning
++ || p_end <= 0
+ || (p_end
+ != p_ptrn_lines + 1 + (p_Char[p_end - 1] == '\n')))
+ {
+--
+cgit v1.2.3
+
diff --git a/package/patch/patch.mk b/package/patch/patch.mk
index 6f83d2418c..9272449159 100644
--- a/package/patch/patch.mk
+++ b/package/patch/patch.mk
@@ -23,6 +23,12 @@ PATCH_IGNORE_CVES += CVE-2018-20969 CVE-2019-13638
# 0005-Don-t-follow-symlinks-unless--follow-symlinks-is-given.patch
PATCH_IGNORE_CVES += CVE-2019-13636
+# 0006-Fix-swapping-fake-lines-in-pch-swap.patch
+PATCH_IGNORE_CVES += CVE-2018-6952
+
+# 0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
+PATCH_IGNORE_CVES += CVE-2019-20633
+
ifeq ($(BR2_PACKAGE_ATTR),y)
PATCH_CONF_OPTS += --enable-xattr
PATCH_DEPENDENCIES += attr
--
2.53.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633
2026-02-25 20:28 [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633 Thomas Perale via buildroot
@ 2026-02-25 21:15 ` Julien Olivain via buildroot
2026-03-06 19:53 ` Thomas Perale via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Julien Olivain via buildroot @ 2026-02-25 21:15 UTC (permalink / raw)
To: Thomas Perale; +Cc: buildroot
On 25/02/2026 21:28, Thomas Perale via buildroot wrote:
> Fixes the following vulnerabilities:
>
> - CVE-2018-6952:
> A double free exists in the another_hunk function in pch.c in GNU
> patch through 2.7.6.
>
> For more information, see:
> - https://www.cve.org/CVERecord?id=CVE-2018-6952
> -
> https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
>
> - CVE-2019-20633:
> GNU patch through 2.7.6 contains a free(p_line[p_end]) Double Free
> vulnerability in the function another_hunk in pch.c that can cause
> a
> denial of service via a crafted patch file. NOTE: this issue exists
> because of an incomplete fix for CVE-2018-6952.
>
> For more information, see:
> - https://www.cve.org/CVERecord?id=CVE-2019-20633
> -
> https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to master, thanks.
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633
2026-02-25 20:28 [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633 Thomas Perale via buildroot
2026-02-25 21:15 ` Julien Olivain via buildroot
@ 2026-03-06 19:53 ` Thomas Perale via buildroot
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Perale via buildroot @ 2026-03-06 19:53 UTC (permalink / raw)
To: Thomas Perale; +Cc: buildroot
In reply of:
> Fixes the following vulnerabilities:
>
> - CVE-2018-6952:
> A double free exists in the another_hunk function in pch.c in GNU
> patch through 2.7.6.
>
> For more information, see:
> - https://www.cve.org/CVERecord?id=CVE-2018-6952
> - https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
>
> - CVE-2019-20633:
> GNU patch through 2.7.6 contains a free(p_line[p_end]) Double Free
> vulnerability in the function another_hunk in pch.c that can cause a
> denial of service via a crafted patch file. NOTE: this issue exists
> because of an incomplete fix for CVE-2018-6952.
>
> For more information, see:
> - https://www.cve.org/CVERecord?id=CVE-2019-20633
> - https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
>
> Signed-off-by: Thomas Perale <thomas.perale@mind.be>
Applied to 2025.02.x & 2025.11.x. Thanks
> ---
> ...-Fix-swapping-fake-lines-in-pch-swap.patch | 33 +++++++++++++++++++
> ...emory-access-in-context-format-diffs.patch | 30 +++++++++++++++++
> package/patch/patch.mk | 6 ++++
> 3 files changed, 69 insertions(+)
> create mode 100644 package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
> create mode 100644 package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
>
> diff --git a/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch b/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
> new file mode 100644
> index 0000000000..6fd63dff53
> --- /dev/null
> +++ b/package/patch/0006-Fix-swapping-fake-lines-in-pch-swap.patch
> @@ -0,0 +1,33 @@
> +From 9c986353e420ead6e706262bf204d6e03322c300 Mon Sep 17 00:00:00 2001
> +From: Andreas Gruenbacher <agruen@gnu.org>
> +Date: Fri, 17 Aug 2018 13:35:40 +0200
> +Subject: Fix swapping fake lines in pch_swap
> +
> +* src/pch.c (pch_swap): Fix swapping p_bfake and p_efake when there is a
> +blank line in the middle of a context-diff hunk: that empty line stays
> +in the middle of the hunk and isn't swapped.
> +
> +Fixes: https://savannah.gnu.org/bugs/index.php?53133
> +CVE: CVE-2018-6952
> +Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=9c986353e420ead6e706262bf204d6e03322c300
> +Signed-off-by: Thomas Perale <thomas.perale@mind.be>
> +---
> + src/pch.c | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/src/pch.c b/src/pch.c
> +index e92bc64..a500ad9 100644
> +--- a/src/pch.c
> ++++ b/src/pch.c
> +@@ -2115,7 +2115,7 @@ pch_swap (void)
> + }
> + if (p_efake >= 0) { /* fix non-freeable ptr range */
> + if (p_efake <= i)
> +- n = p_end - i + 1;
> ++ n = p_end - p_ptrn_lines;
> + else
> + n = -i;
> + p_efake += n;
> +--
> +cgit v1.2.3
> +
> diff --git a/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch b/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
> new file mode 100644
> index 0000000000..5ffe3699ef
> --- /dev/null
> +++ b/package/patch/0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
> @@ -0,0 +1,30 @@
> +From 15b158db3ae11cb835f2eb8d2eb48e09d1a4af48 Mon Sep 17 00:00:00 2001
> +From: Andreas Gruenbacher <agruen@gnu.org>
> +Date: Mon, 15 Jul 2019 19:10:02 +0200
> +Subject: Avoid invalid memory access in context format diffs
> +
> +* src/pch.c (another_hunk): Avoid invalid memory access in context format
> +diffs.
> +
> +CVE: CVE-2019-20633
> +Upstream: https://cgit.git.savannah.gnu.org/cgit/patch.git/commit/?id=15b158db3ae11cb835f2eb8d2eb48e09d1a4af48
> +Signed-off-by: Thomas Perale <thomas.perale@mind.be>
> +---
> + src/pch.c | 1 +
> + 1 file changed, 1 insertion(+)
> +
> +diff --git a/src/pch.c b/src/pch.c
> +index a500ad9..cb54e03 100644
> +--- a/src/pch.c
> ++++ b/src/pch.c
> +@@ -1327,6 +1327,7 @@ another_hunk (enum diff difftype, bool rev)
> + ptrn_prefix_context = context;
> + ptrn_suffix_context = context;
> + if (repl_beginning
> ++ || p_end <= 0
> + || (p_end
> + != p_ptrn_lines + 1 + (p_Char[p_end - 1] == '\n')))
> + {
> +--
> +cgit v1.2.3
> +
> diff --git a/package/patch/patch.mk b/package/patch/patch.mk
> index 6f83d2418c..9272449159 100644
> --- a/package/patch/patch.mk
> +++ b/package/patch/patch.mk
> @@ -23,6 +23,12 @@ PATCH_IGNORE_CVES += CVE-2018-20969 CVE-2019-13638
> # 0005-Don-t-follow-symlinks-unless--follow-symlinks-is-given.patch
> PATCH_IGNORE_CVES += CVE-2019-13636
>
> +# 0006-Fix-swapping-fake-lines-in-pch-swap.patch
> +PATCH_IGNORE_CVES += CVE-2018-6952
> +
> +# 0007-Avoid-invalid-memory-access-in-context-format-diffs.patch
> +PATCH_IGNORE_CVES += CVE-2019-20633
> +
> ifeq ($(BR2_PACKAGE_ATTR),y)
> PATCH_CONF_OPTS += --enable-xattr
> PATCH_DEPENDENCIES += attr
> --
> 2.53.0
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-03-06 19:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 20:28 [Buildroot] [PATCH] package/patch: add patches for CVE-2018-6952 & CVE-2019-20633 Thomas Perale via buildroot
2026-02-25 21:15 ` Julien Olivain via buildroot
2026-03-06 19:53 ` Thomas Perale via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox