diff options
author | Sören Tempel <soeren+git@soeren-tempel.net> | 2018-06-10 20:40:38 +0200 |
---|---|---|
committer | Sören Tempel <soeren+git@soeren-tempel.net> | 2018-06-10 20:44:59 +0200 |
commit | 7a15f5277c131da11081bea9a0077891e58ac0fb (patch) | |
tree | 6c53c6ea59c87f307105e325a74fcc63607f4d0a /main/gnupg1 | |
parent | f45f736bd7ab32c7b5f903aaf3d56327cf215685 (diff) | |
download | aports-7a15f5277c131da11081bea9a0077891e58ac0fb.tar.bz2 aports-7a15f5277c131da11081bea9a0077891e58ac0fb.tar.xz |
main/gnupg1: fix CVE-2018-12020
Diffstat (limited to 'main/gnupg1')
-rw-r--r-- | main/gnupg1/0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch | 41 | ||||
-rw-r--r-- | main/gnupg1/APKBUILD | 13 |
2 files changed, 51 insertions, 3 deletions
diff --git a/main/gnupg1/0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch b/main/gnupg1/0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch new file mode 100644 index 0000000000..3592fc5500 --- /dev/null +++ b/main/gnupg1/0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch @@ -0,0 +1,41 @@ +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 + diff --git a/main/gnupg1/APKBUILD b/main/gnupg1/APKBUILD index 244df65caf..f2dd7f14d1 100644 --- a/main/gnupg1/APKBUILD +++ b/main/gnupg1/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=gnupg1 pkgver=1.4.22 -pkgrel=0 +pkgrel=1 pkgdesc="GNU Privacy Guard 1 - a PGP replacement tool" url="http://www.gnupg.org/" arch="all" @@ -12,10 +12,16 @@ makedepends="curl-dev libassuan libksba-dev libgcrypt-dev libgpg-error-dev subpackages="$pkgname-doc" provides="gnupg=$pkgver-r$pkgrel" replaces="gnupg" -source="ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-$pkgver.tar.bz2" +source="ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-$pkgver.tar.bz2 + 0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch" + +# secfixes: +# 1.4.22-r1: +# - CVE-2018-12020 builddir="$srcdir/gnupg-$pkgver" prepare() { + default_prepare cd "$builddir" # Fix PIC definitions @@ -52,4 +58,5 @@ doc() { provides="gnupg-doc=$pkgver-r$pkgrel" } -sha512sums="c03acac0fa55761470bb085d78a44e2b99ebb187e8396cbb031a184b1e40bef2a40c91da07755d1a20610a3daa6aa1eefea2d12a0dbd5a79a45466166419c708 gnupg-1.4.22.tar.bz2" +sha512sums="c03acac0fa55761470bb085d78a44e2b99ebb187e8396cbb031a184b1e40bef2a40c91da07755d1a20610a3daa6aa1eefea2d12a0dbd5a79a45466166419c708 gnupg-1.4.22.tar.bz2 +0fecf8735ed56380699d91ff739aac3cf4a8b0fc2b248e403fb8c1411b05ac701eaebed6898f37a13e45df53cab3c319deac05b18a74d40c19409652a500d32b 0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch" |