aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorSören Tempel <soeren+git@soeren-tempel.net>2018-06-10 20:40:38 +0200
committerSören Tempel <soeren+git@soeren-tempel.net>2018-06-10 20:44:59 +0200
commit7a15f5277c131da11081bea9a0077891e58ac0fb (patch)
tree6c53c6ea59c87f307105e325a74fcc63607f4d0a /main
parentf45f736bd7ab32c7b5f903aaf3d56327cf215685 (diff)
downloadaports-7a15f5277c131da11081bea9a0077891e58ac0fb.tar.bz2
aports-7a15f5277c131da11081bea9a0077891e58ac0fb.tar.xz
main/gnupg1: fix CVE-2018-12020
Diffstat (limited to 'main')
-rw-r--r--main/gnupg1/0001-gpg-Sanitize-diagnostic-with-the-original-file-name.patch41
-rw-r--r--main/gnupg1/APKBUILD13
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"