From 9116f1269089ecf88ed9465498f7f9482dd978c6 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Mon, 30 May 2016 09:35:10 +0300 Subject: gnu: antiword: Fix CVE-2014-8123. * gnu/packages/textutils.scm (antiword)[source]: Add patch. * gnu/packages/patches/antiword-CVE-2014-8123: New variable. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/antiword-CVE-2014-8123.patch | 21 +++++++++++++++++++++ gnu/packages/textutils.scm | 5 ++++- 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/antiword-CVE-2014-8123.patch (limited to 'gnu') diff --git a/gnu/local.mk b/gnu/local.mk index f5745d3372..4dda1fa28a 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -424,6 +424,7 @@ dist_patch_DATA = \ %D%/packages/patches/aegis-test-fixup-2.patch \ %D%/packages/patches/agg-am_c_prototype.patch \ %D%/packages/patches/alsa-lib-mips-atomic-fix.patch \ + %D%/packages/patches/antiword-CVE-2014-8123.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/arb-ldconfig.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/patches/antiword-CVE-2014-8123.patch b/gnu/packages/patches/antiword-CVE-2014-8123.patch new file mode 100644 index 0000000000..d8d346a634 --- /dev/null +++ b/gnu/packages/patches/antiword-CVE-2014-8123.patch @@ -0,0 +1,21 @@ +Description: Add check for buffer overflow with malformed input files + This was later re-found and became CVE-2014-8123. +Author: +Bug-Debian: http://bugs.debian.org/407015 +Bug-Debian: https://bugs.debian.org/771768 +Forwarded: http://seclists.org/oss-sec/2014/q4/870 +Last-Update: 2016-01-11 + +--- antiword-0.37~/wordole.c 2005-08-26 21:49:57.000000000 +0200 ++++ antiword-0.37/wordole.c 2009-06-03 22:31:15.948014682 +0200 +@@ -259,6 +259,10 @@ + } + tNameSize = (size_t)usGetWord(0x40, aucBytes); + tNameSize = (tNameSize + 1) / 2; ++ if ( tNameSize > sizeof(atPPSlist[iIndex].szName)) { ++ werr(0, "Name Size of PPS %d is too large", iIndex); ++ tNameSize = sizeof(atPPSlist[iIndex].szName); ++ } + vName2String(atPPSlist[iIndex].szName, aucBytes, tNameSize); + atPPSlist[iIndex].ucType = ucGetByte(0x42, aucBytes); + if (atPPSlist[iIndex].ucType == 5) { diff --git a/gnu/packages/textutils.scm b/gnu/packages/textutils.scm index 080c95ba1c..ebcf4b9a1f 100644 --- a/gnu/packages/textutils.scm +++ b/gnu/packages/textutils.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2015 Roel Janssen ;;; Copyright © 2016 Jelle Licht ;;; Copyright © 2016 Alex Griffin +;;; Copyright © 2016 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system trivial) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages python) #:use-module (gnu packages zip)) @@ -306,7 +308,8 @@ regular expression object can be specified.") "/antiword-" version ".tar.gz")) (sha256 (base32 - "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f")))) + "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f")) + (patches (search-patches "antiword-CVE-2014-8123.patch")))) (build-system gnu-build-system) (arguments `(#:tests? #f ; There are no tests -- cgit 1.4.1