From 460fae744c0440f06b90da181bd4272c57727486 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Tue, 13 Sep 2022 03:38:45 -0400 Subject: [PATCH] import gnupg2-2.2.20-3.el8_6 --- SOURCES/gnupg-2.2.20-CVE-2022-34903.patch | 50 +++++++++++++++++++++++ SPECS/gnupg2.spec | 7 +++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 SOURCES/gnupg-2.2.20-CVE-2022-34903.patch diff --git a/SOURCES/gnupg-2.2.20-CVE-2022-34903.patch b/SOURCES/gnupg-2.2.20-CVE-2022-34903.patch new file mode 100644 index 0000000..0647765 --- /dev/null +++ b/SOURCES/gnupg-2.2.20-CVE-2022-34903.patch @@ -0,0 +1,50 @@ +From 34c649b3601383cd11dbc76221747ec16fd68e1b Mon Sep 17 00:00:00 2001 +From: Werner Koch +Date: Tue, 14 Jun 2022 11:33:27 +0200 +Subject: [PATCH GnuPG] g10: Fix garbled status messages in NOTATION_DATA + +* g10/cpr.c (write_status_text_and_buffer): Fix off-by-one +-- + +Depending on the escaping and line wrapping the computed remaining +buffer length could be wrong. Fixed by always using a break to +terminate the escape detection loop. Might have happened for all +status lines which may wrap. + +GnuPG-bug-id: T6027 +--- + g10/cpr.c | 13 ++++--------- + 1 file changed, 4 insertions(+), 9 deletions(-) + +diff --git a/g10/cpr.c b/g10/cpr.c +index 9bfdd3c34..fa8005d6f 100644 +--- a/g10/cpr.c ++++ b/g10/cpr.c +@@ -372,20 +372,15 @@ write_status_text_and_buffer (int no, const char *string, + } + first = 0; + } +- for (esc=0, s=buffer, n=len; n && !esc; s++, n--) ++ for (esc=0, s=buffer, n=len; n; s++, n--) + { + if (*s == '%' || *(const byte*)s <= lower_limit + || *(const byte*)s == 127 ) + esc = 1; + if (wrap && ++count > wrap) +- { +- dowrap=1; +- break; +- } +- } +- if (esc) +- { +- s--; n++; ++ dowrap=1; ++ if (esc || dowrap) ++ break; + } + if (s != buffer) + es_fwrite (buffer, s-buffer, 1, statusfp); +-- +2.37.1 + diff --git a/SPECS/gnupg2.spec b/SPECS/gnupg2.spec index a26aa13..e5616e2 100644 --- a/SPECS/gnupg2.spec +++ b/SPECS/gnupg2.spec @@ -3,7 +3,7 @@ Summary: Utility for secure communication and data storage Name: gnupg2 Version: 2.2.20 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv3+ Source0: ftp://ftp.gnupg.org/gcrypt/%{?pre:alpha/}gnupg/gnupg-%{version}%{?pre}.tar.bz2 @@ -23,6 +23,7 @@ Patch9: gnupg-2.1.21-large-rsa.patch Patch20: gnupg-2.2.18-tests-add-test-cases-for-import-without-uid.patch Patch21: gnupg-2.2.18-gpg-allow-import-of-previously-known-keys-even-without-UI.patch Patch22: gnupg-2.2.18-gpg-accept-subkeys-with-a-good-revocation-but-no-self-sig.patch +Patch23: gnupg-2.2.20-CVE-2022-34903.patch # Fixes for issues found in Coverity scan - reported upstream Patch30: gnupg-2.2.20-coverity.patch @@ -106,6 +107,7 @@ to the base GnuPG package %patch20 -p1 -b .test_missing_uid %patch21 -p1 -b .prev_known_key %patch22 -p1 -b .good_revoc +%patch23 -p1 -b .CVE-2022-34903 %patch30 -p1 -b .coverity @@ -220,6 +222,9 @@ make -k check %changelog +* Wed Aug 03 2022 Jakub Jelen - 2.2.20-3 +- Fix CVE-2022-34903 (#2108447) + * Mon May 4 2020 Tomáš Mráz - 2.2.20-2 - fixes for issues found in Coverity scan