mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
gnu: GnuPG 1.4: Fix CVE-2018-12020.
* gnu/packages/patches/gnupg-1.4-CVE-2018-12020.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/gnupg.scm (gnupg-1)[source]: Use it.
This commit is contained in:
parent
5aa4ea6a2b
commit
65956ad352
3 changed files with 52 additions and 0 deletions
|
@ -743,6 +743,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/gnome-todo-libical-compat.patch \
|
||||
%D%/packages/patches/gnome-tweak-tool-search-paths.patch \
|
||||
%D%/packages/patches/gnucash-price-quotes-perl.patch \
|
||||
%D%/packages/patches/gnupg-1.4-CVE-2018-12020.patch \
|
||||
%D%/packages/patches/gnutls-skip-trust-store-test.patch \
|
||||
%D%/packages/patches/gnutls-skip-pkgconfig-test.patch \
|
||||
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
|
|
|
@ -354,6 +354,7 @@ (define-public gnupg-1
|
|||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(patches (search-patches "gnupg-1.4-CVE-2018-12020.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"1d1hz4szh1kvwhsw7w2zxa6q5ndrk3qy6hj289l1b8k3xi5s554m"))))
|
||||
|
|
50
gnu/packages/patches/gnupg-1.4-CVE-2018-12020.patch
Normal file
50
gnu/packages/patches/gnupg-1.4-CVE-2018-12020.patch
Normal file
|
@ -0,0 +1,50 @@
|
|||
Fix CVE-2018-12020:
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-12020
|
||||
https://lists.gnupg.org/pipermail/gnupg-announce/2018q2/000425.html
|
||||
|
||||
Patch copied from upstream source repository:
|
||||
|
||||
https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commit;h=2326851c60793653069494379b16d84e4c10a0ac
|
||||
|
||||
From 2326851c60793653069494379b16d84e4c10a0ac Mon Sep 17 00:00:00 2001
|
||||
From: Werner Koch <wk@gnupg.org>
|
||||
Date: Fri, 8 Jun 2018 10:45:21 +0200
|
||||
Subject: [PATCH] gpg: Sanitize diagnostic with the original file name.
|
||||
|
||||
* g10/mainproc.c (proc_plaintext): Sanitize verbose output.
|
||||
--
|
||||
|
||||
This fixes a forgotten sanitation of user supplied data in a verbose
|
||||
mode diagnostic. The mention CVE is about using this to inject
|
||||
status-fd lines into the stderr output. Other harm good as well be
|
||||
done. Note that GPGME based applications are not affected because
|
||||
GPGME does not fold status output into stderr.
|
||||
|
||||
CVE-id: CVE-2018-12020
|
||||
GnuPG-bug-id: 4012
|
||||
(cherry picked from commit 13f135c7a252cc46cff96e75968d92b6dc8dce1b)
|
||||
---
|
||||
g10/mainproc.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/g10/mainproc.c b/g10/mainproc.c
|
||||
index 33a654b34..ffa7ef6d8 100644
|
||||
--- a/g10/mainproc.c
|
||||
+++ b/g10/mainproc.c
|
||||
@@ -638,7 +638,11 @@ proc_plaintext( CTX c, PACKET *pkt )
|
||||
if( pt->namelen == 8 && !memcmp( pt->name, "_CONSOLE", 8 ) )
|
||||
log_info(_("NOTE: sender requested \"for-your-eyes-only\"\n"));
|
||||
else if( opt.verbose )
|
||||
- log_info(_("original file name='%.*s'\n"), pt->namelen, pt->name);
|
||||
+ {
|
||||
+ char *tmp = make_printable_string (pt->name, pt->namelen, 0);
|
||||
+ log_info (_("original file name='%.*s'\n"), (int)strlen (tmp), tmp);
|
||||
+ xfree (tmp);
|
||||
+ }
|
||||
free_md_filter_context( &c->mfx );
|
||||
c->mfx.md = md_open( 0, 0);
|
||||
/* fixme: we may need to push the textfilter if we have sigclass 1
|
||||
--
|
||||
2.17.1
|
||||
|
Loading…
Reference in a new issue