From 3b1b8fb6296e2889c334447c1b83e698582f5349 Mon Sep 17 00:00:00 2001 From: Pascal Wittmann Date: Mon, 9 Mar 2015 18:27:25 +0100 Subject: antiword: apply debians patch for CVE-2014-8123 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=771768 --- .../antiword/10_fix_buffer_overflow_wordole_c.patch | 18 ++++++++++++++++++ pkgs/applications/office/antiword/default.nix | 4 +++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch (limited to 'pkgs/applications/office') diff --git a/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch b/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch new file mode 100644 index 00000000000..ebf2f0900d9 --- /dev/null +++ b/pkgs/applications/office/antiword/10_fix_buffer_overflow_wordole_c.patch @@ -0,0 +1,18 @@ +Description: Add check for buffer overflow with malformed input files +Author: +Bug-Debian: http://bugs.debian.org/407015 +Last-Update: 2009-06-03 + +--- 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/pkgs/applications/office/antiword/default.nix b/pkgs/applications/office/antiword/default.nix index f889490a862..ea36d59eea7 100644 --- a/pkgs/applications/office/antiword/default.nix +++ b/pkgs/applications/office/antiword/default.nix @@ -11,10 +11,12 @@ stdenv.mkDerivation { sha256 = "1b7mi1l20jhj09kyh0bq14qzz8vdhhyf35gzwsq43mn6rc7h0b4f"; }; - patchPhase = '' + preInstall = '' sed -i -e "s|/usr/local/bin|$out/bin|g" -e "s|/usr/share|$out/share|g" Makefile antiword.h ''; + patches = [ ./10_fix_buffer_overflow_wordole_c.patch ]; + installTargets = "global_install"; meta = { -- cgit 1.4.1