rpms/tetex/FC-4 tetex-3.0-CVE-2005-3193.patch, 1.2, 1.3 tetex-3.0-texdoc-defaults.patch, 1.1, 1.2 tetex-3.0-texmfcnf.patch, 1.1, 1.2 tetex.spec, 1.69, 1.70
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Wed Jan 11 15:07:55 UTC 2006
- Previous message (by thread): rpms/tetex/devel tetex-3.0-CVE-2005-3193.patch, 1.2, 1.3 tetex-3.0-texmfcnf.patch, 1.3, 1.4 tetex.spec, 1.78, 1.79
- Next message (by thread): rpms/tetex/FC-3 tetex-2.0.2-CVE-2005-3193.patch, 1.2, 1.3 tetex.spec, 1.52, 1.53
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jnovy
Update of /cvs/dist/rpms/tetex/FC-4
In directory cvs.devel.redhat.com:/tmp/cvs-serv24187
Modified Files:
tetex-3.0-CVE-2005-3193.patch tetex-3.0-texdoc-defaults.patch
tetex-3.0-texmfcnf.patch tetex.spec
Log Message:
* Wed Jan 11 2006 Jindrich Novy <jnovy at redhat.com> 3.0-9.FC4
- apply additional patch to fix xpdf flaws from Ludwig Nussel
(CVE-2005-3191, CVE-2005-3192 and CVE-2005-3193) (#177128)
- /usr/share/texmf/doc is now owned by tetex package (#177065)
- update searching order for kpathsea (local texmf tree is
searched first)
- don't use obsolete bindings in texdoc
tetex-3.0-CVE-2005-3193.patch:
JBIG2Stream.cc | 45 +++++++++++++++++++++++++++++++++++++++++----
JPXStream.cc | 18 +++++++++++++++---
Stream.cc | 49 +++++++++++++++++++++++++++++++++++++++++++++++--
Stream.h | 3 +++
4 files changed, 106 insertions(+), 9 deletions(-)
Index: tetex-3.0-CVE-2005-3193.patch
===================================================================
RCS file: /cvs/dist/rpms/tetex/FC-4/tetex-3.0-CVE-2005-3193.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- tetex-3.0-CVE-2005-3193.patch 19 Dec 2005 10:26:36 -0000 1.2
+++ tetex-3.0-CVE-2005-3193.patch 11 Jan 2006 15:07:52 -0000 1.3
@@ -1,5 +1,5 @@
---- tetex-src-3.0/libs/xpdf/xpdf/JPXStream.cc.CVE-2005-3193
-+++ tetex-src-3.0/libs/xpdf/xpdf/JPXStream.cc
+--- tetex-src-3.0/libs/xpdf/xpdf/JPXStream.cc.CVE-2005-3193 2004-01-22 02:26:45.000000000 +0100
++++ tetex-src-3.0/libs/xpdf/xpdf/JPXStream.cc 2006-01-09 15:15:27.000000000 +0100
@@ -7,6 +7,7 @@
//========================================================================
@@ -8,7 +8,7 @@
#ifdef USE_GCC_PRAGMAS
#pragma implementation
-@@ -666,7 +667,7 @@
+@@ -666,7 +667,7 @@ GBool JPXStream::readCodestream(Guint le
int segType;
GBool haveSIZ, haveCOD, haveQCD, haveSOT;
Guint precinctSize, style;
@@ -17,7 +17,7 @@
//----- main header
haveSIZ = haveCOD = haveQCD = haveSOT = gFalse;
-@@ -701,8 +702,19 @@
+@@ -701,8 +702,19 @@ GBool JPXStream::readCodestream(Guint le
/ img.xTileSize;
img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
/ img.yTileSize;
@@ -39,11 +39,9 @@
for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
img.tiles[i].tileComps = (JPXTileComp *)gmalloc(img.nComps *
sizeof(JPXTileComp));
-only in patch2:
-unchanged:
---- tetex-src-3.0/libs/xpdf/xpdf/Stream.h.CVE-2005-3193
-+++ tetex-src-3.0/libs/xpdf/xpdf/Stream.h
-@@ -233,6 +233,8 @@
+--- tetex-src-3.0/libs/xpdf/xpdf/Stream.h.CVE-2005-3193 2004-01-22 02:26:45.000000000 +0100
++++ tetex-src-3.0/libs/xpdf/xpdf/Stream.h 2006-01-09 15:15:27.000000000 +0100
+@@ -233,6 +233,8 @@ public:
~StreamPredictor();
@@ -52,7 +50,7 @@
int lookChar();
int getChar();
-@@ -250,6 +252,7 @@
+@@ -250,6 +252,7 @@ private:
int rowBytes; // bytes per line
Guchar *predLine; // line buffer
int predIdx; // current index in predLine
@@ -60,10 +58,8 @@
};
//------------------------------------------------------------------------
-only in patch2:
-unchanged:
---- tetex-src-3.0/libs/xpdf/xpdf/Stream.cc.CVE-2005-3193
-+++ tetex-src-3.0/libs/xpdf/xpdf/Stream.cc
+--- tetex-src-3.0/libs/xpdf/xpdf/Stream.cc.CVE-2005-3193 2004-01-22 02:26:45.000000000 +0100
++++ tetex-src-3.0/libs/xpdf/xpdf/Stream.cc 2006-01-09 15:15:27.000000000 +0100
@@ -15,6 +15,7 @@
#include <stdio.h>
#include <stdlib.h>
@@ -72,7 +68,7 @@
#ifndef WIN32
#include <unistd.h>
#endif
-@@ -412,13 +413,28 @@
+@@ -412,13 +413,28 @@ StreamPredictor::StreamPredictor(Stream
width = widthA;
nComps = nCompsA;
nBits = nBitsA;
@@ -101,7 +97,7 @@
}
StreamPredictor::~StreamPredictor() {
-@@ -1012,6 +1028,10 @@
+@@ -1012,6 +1028,10 @@ LZWStream::LZWStream(Stream *strA, int p
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
@@ -112,40 +108,81 @@
} else {
pred = NULL;
}
-@@ -2897,6 +2917,10 @@
+@@ -1260,6 +1280,10 @@ CCITTFaxStream::CCITTFaxStream(Stream *s
+ endOfLine = endOfLineA;
+ byteAlign = byteAlignA;
+ columns = columnsA;
++ if (columns < 1 || columns >= INT_MAX / sizeof(short)) {
++ error(-1, "invalid number of columns: %d", columns);
++ exit(1);
++ }
+ rows = rowsA;
+ endOfBlock = endOfBlockA;
+ black = blackA;
+@@ -2897,6 +2921,11 @@ GBool DCTStream::readBaselineSOF() {
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
-+ error(getPos(), "Bad number of components in DCT stream", prec);
++ numComps = 0;
++ error(getPos(), "Bad number of components in DCT stream");
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
-@@ -2923,6 +2947,10 @@
+@@ -2923,6 +2952,11 @@ GBool DCTStream::readProgressiveSOF() {
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
-+ error(getPos(), "Bad number of components in DCT stream", prec);
++ numComps = 0;
++ error(getPos(), "Bad number of components in DCT stream");
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
-@@ -2945,6 +2973,10 @@
+@@ -2945,6 +2979,11 @@ GBool DCTStream::readScanInfo() {
length = read16() - 2;
scanInfo.numComps = str->getChar();
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
++ scanInfo.numComps = 0;
+ error(getPos(), "Bad number of components in DCT stream");
+ return gFalse;
+ }
--length;
if (length != 2 * scanInfo.numComps + 3) {
error(getPos(), "Bad DCT scan info block");
-@@ -3255,6 +3287,10 @@
+@@ -3019,12 +3058,12 @@ GBool DCTStream::readHuffmanTables() {
+ while (length > 0) {
+ index = str->getChar();
+ --length;
+- if ((index & 0x0f) >= 4) {
++ if ((index & ~0x10) >= 4 || (index & ~0x10) < 0) {
+ error(getPos(), "Bad DCT Huffman table");
+ return gFalse;
+ }
+ if (index & 0x10) {
+- index &= 0x0f;
++ index &= 0x03;
+ if (index >= numACHuffTables)
+ numACHuffTables = index+1;
+ tbl = &acHuffTables[index];
+@@ -3142,9 +3181,11 @@ int DCTStream::readMarker() {
+ do {
+ do {
+ c = str->getChar();
++ if(c == EOF) return EOF;
+ } while (c != 0xff);
+ do {
+ c = str->getChar();
++ if(c == EOF) return EOF;
+ } while (c == 0xff);
+ } while (c == 0x00);
+ return c;
+@@ -3255,6 +3296,10 @@ FlateStream::FlateStream(Stream *strA, i
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
@@ -156,8 +193,8 @@
} else {
pred = NULL;
}
---- tetex-src-3.0/libs/xpdf/xpdf/JBIG2Stream.cc.CVE-2005-3193
-+++ tetex-src-3.0/libs/xpdf/xpdf/JBIG2Stream.cc
+--- tetex-src-3.0/libs/xpdf/xpdf/JBIG2Stream.cc.CVE-2005-3193 2004-01-22 02:26:45.000000000 +0100
++++ tetex-src-3.0/libs/xpdf/xpdf/JBIG2Stream.cc 2006-01-09 15:15:27.000000000 +0100
@@ -7,6 +7,7 @@
//========================================================================
@@ -166,45 +203,61 @@
#ifdef USE_GCC_PRAGMAS
#pragma implementation
-@@ -681,7 +682,15 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA,
+@@ -681,7 +682,16 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA,
w = wA;
h = hA;
line = (wA + 7) >> 3;
- data = (Guchar *)gmalloc(h * line);
+
-+ if (h < 0 || line <= 0 || h >= INT_MAX / line) {
++ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
++ error(-1, "invalid width/height");
+ data = NULL;
++ return;
+ }
-+ else {
-+ // need to allocate one extra guard byte for use in combine()
-+ data = (Guchar *)gmalloc(h * line + 1);
-+ data[h * line] = 0;
-+ }
++
++ // need to allocate one extra guard byte for use in combine()
++ data = (Guchar *)gmalloc(h * line + 1);
++ data[h * line] = 0;
}
JBIG2Bitmap::JBIG2Bitmap(Guint segNumA, JBIG2Bitmap *bitmap):
-@@ -692,5 +699,11 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA,
+@@ -690,8 +700,17 @@ JBIG2Bitmap::JBIG2Bitmap(Guint segNumA,
w = bitmap->w;
h = bitmap->h;
line = bitmap->line;
+- data = (Guchar *)gmalloc(h * line);
+
-+ if (h < 0 || line <= 0 || h >= INT_MAX / line) {
++ if (h < 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
++ error(-1, "invalid width/height");
+ data = NULL;
+ return;
+ }
-+
- data = (Guchar *)gmalloc(h * line);
++
++ // need to allocate one extra guard byte for use in combine()
++ data = (Guchar *)gmalloc(h * line + 1);
memcpy(data, bitmap->data, h * line);
-@@ -720,7 +733,7 @@ JBIG2Bitmap *JBIG2Bitmap::getSlice(Guint
++ data[h * line] = 0;
+ }
+
+ JBIG2Bitmap::~JBIG2Bitmap() {
+@@ -716,10 +735,14 @@ JBIG2Bitmap *JBIG2Bitmap::getSlice(Guint
}
void JBIG2Bitmap::expand(int newH, Guint pixel) {
- if (newH <= h) {
-+ if (newH <= h || line <= 0 || newH >= INT_MAX / line) {
++ if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
++ error(-1, "invalid width/height");
++ gfree(data);
++ data = NULL;
return;
}
- // need to allocate one extra guard byte for use in combine()
-@@ -2305,6 +2318,15 @@ void JBIG2Stream::readHalftoneRegionSeg(
+- data = (Guchar *)grealloc(data, newH * line);
++ // need to allocate one extra guard byte for use in combine()
++ data = (Guchar *)grealloc(data, newH * line + 1);
+ if (pixel) {
+ memset(data + h * line, 0xff, (newH - h) * line);
+ } else {
+@@ -2256,6 +2279,15 @@ void JBIG2Stream::readHalftoneRegionSeg(
error(getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
return;
}
@@ -220,38 +273,15 @@
patternDict = (JBIG2PatternDict *)seg;
bpp = 0;
i = 1;
-@@ -2936,6 +2958,9 @@ JBIG2Bitmap *JBIG2Stream::readGenericRef
+@@ -2887,6 +2919,11 @@ JBIG2Bitmap *JBIG2Stream::readGenericRef
JBIG2BitmapPtr tpgrCXPtr0, tpgrCXPtr1, tpgrCXPtr2;
int x, y, pix;
-+ if (w < 0 || h <= 0 || w >= INT_MAX / h)
++ if (w < 0 || h <= 0 || w >= INT_MAX / h) {
++ error(-1, "invalid width/height");
+ return NULL;
++ }
+
bitmap = new JBIG2Bitmap(0, w, h);
bitmap->clearToZero();
---- tetex-src-3.0/libs/xpdf/xpdf/Stream.cc.CVE-2005-3193
-+++ tetex-src-3.0/libs/xpdf/xpdf/Stream.cc
-@@ -1277,4 +1277,7 @@ CCITTFaxStream::CCITTFaxStream(Stream *s
- endOfLine = endOfLineA;
- byteAlign = byteAlignA;
- columns = columnsA;
-+ if (columns + 3 < 1 || columns + 4 < 1 || columns < 1) {
-+ columns = 1;
-+ }
- rows = rowsA;
-@@ -3066,12 +3066,12 @@ GBool DCTStream::readHuffmanTables() {
- while (length > 0) {
- index = str->getChar();
- --length;
-- if ((index & 0x0f) >= 4) {
-+ if ((index & ~0x10) >= 4 || (index & ~0x10) < 0) {
- error(getPos(), "Bad DCT Huffman table");
- return gFalse;
- }
- if (index & 0x10) {
-- index &= 0x0f;
-+ index &= 0x03;
- if (index >= numACHuffTables)
- numACHuffTables = index+1;
- tbl = &acHuffTables[index];
tetex-3.0-texdoc-defaults.patch:
texdoc | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
Index: tetex-3.0-texdoc-defaults.patch
===================================================================
RCS file: /cvs/dist/rpms/tetex/FC-4/tetex-3.0-texdoc-defaults.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tetex-3.0-texdoc-defaults.patch 10 Feb 2005 20:29:52 -0000 1.1
+++ tetex-3.0-texdoc-defaults.patch 11 Jan 2006 15:07:52 -0000 1.2
@@ -1,13 +1,14 @@
---- tetex-src-3.0/texk/tetex/texdoc.texdoc-defaults 2004-12-02 23:31:00.000000000 +0900
-+++ tetex-src-3.0/texk/tetex/texdoc 2005-02-07 15:22:31.840490047 +0900
-@@ -90,9 +90,9 @@
+--- tetex-src-3.0/texk/tetex/texdoc.texdoc-defaults 2004-12-02 15:31:00.000000000 +0100
++++ tetex-src-3.0/texk/tetex/texdoc 2005-12-29 17:17:07.000000000 +0100
+@@ -90,9 +90,9 @@ case `(uname -s) 2>/dev/null` in
;;
*)
: ${TEXDOCVIEW_dvi='(xdvi %s) &'}
- : ${TEXDOCVIEW_pdf='(acroread %s) &'}
-+ : ${TEXDOCVIEW_pdf='(xpdf %s) &'}
- : ${TEXDOCVIEW_ps='(gv %s) &'}
+- : ${TEXDOCVIEW_ps='(gv %s) &'}
- : ${TEXDOCVIEW_html='mozilla -remote openURL'"'(%s)'"' 2>/dev/null || mozilla %s &'}
++ : ${TEXDOCVIEW_pdf='(evince %s) &'}
++ : ${TEXDOCVIEW_ps='(evince %s) &'}
+ : ${TEXDOCVIEW_html='(htmlview %s) 2>/dev/null || firefox %s &'}
: ${TEXDOCVIEW_txt="${PAGER-more} %s"}
: ${TEXDOCVIEW_="${PAGER-more} %s"} # no extension, default to pager
tetex-3.0-texmfcnf.patch:
texmf.in-teTeX | 24 ++++++++++++++++++------
1 files changed, 18 insertions(+), 6 deletions(-)
Index: tetex-3.0-texmfcnf.patch
===================================================================
RCS file: /cvs/dist/rpms/tetex/FC-4/tetex-3.0-texmfcnf.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- tetex-3.0-texmfcnf.patch 10 Feb 2005 20:29:52 -0000 1.1
+++ tetex-3.0-texmfcnf.patch 11 Jan 2006 15:07:52 -0000 1.2
@@ -1,5 +1,5 @@
---- tetex-src-3.0/texk/kpathsea/texmf.in-teTeX.texmfcnf 2005-02-06 09:04:35.000000000 +0900
-+++ tetex-src-3.0/texk/kpathsea/texmf.in-teTeX 2005-02-08 18:27:28.232751576 +0900
+--- tetex-src-3.0/texk/kpathsea/texmf.in-teTeX.texmfcnf 2005-02-06 01:04:35.000000000 +0100
++++ tetex-src-3.0/texk/kpathsea/texmf.in-teTeX 2006-01-11 15:28:24.000000000 +0100
@@ -64,7 +64,7 @@
% A place for local additions to a "standard" texmf tree.
% This tree is not used for local configuration maintained by
@@ -9,6 +9,15 @@
% TEXMFSYSVAR, where texconfig-sys stores variable runtime data.
% With teTeX-3.0 or later, this must be set.
+@@ -111,7 +111,7 @@
+ %
+ % For texconfig to work properly, TEXMFCONGIG and TEXMFVAR should be named
+ % explicitly and before all other trees.
+-TEXMF = {!!$TEXMFCONFIG,!!$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFMAIN,!!$TEXMFLOCAL,!!$TEXMFDIST}
++TEXMF = {!!$TEXMFCONFIG,!!$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFMAIN,!!$TEXMFDIST}
+
+ % The system trees. These are the trees that are shared by all the users.
+ SYSTEXMF = $TEXMFLOCAL;$TEXMFMAIN;$TEXMFDIST
@@ -208,6 +208,10 @@
TEXINPUTS.pdftexinfo = .;$TEXMF/tex/{texinfo,plain,generic,}//
TEXINPUTS.pdfamstex = .;$TEXMF/tex/{amstex,plain,generic,}//
Index: tetex.spec
===================================================================
RCS file: /cvs/dist/rpms/tetex/FC-4/tetex.spec,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -r1.69 -r1.70
--- tetex.spec 19 Dec 2005 10:26:37 -0000 1.69
+++ tetex.spec 11 Jan 2006 15:07:52 -0000 1.70
@@ -10,7 +10,7 @@
Summary: The TeX text formatting system.
Name: tetex
Version: 3.0
-Release: 8.FC4
+Release: 9.FC4
License: distributable
Group: Applications/Publishing
Requires: tmpwatch, dialog, ed
@@ -791,6 +791,14 @@
%defattr(-,root,root)
%changelog
+* Wed Jan 11 2006 Jindrich Novy <jnovy at redhat.com> 3.0-9.FC4
+- apply additional patch to fix xpdf flaws from Ludwig Nussel
+ (CVE-2005-3191, CVE-2005-3192 and CVE-2005-3193) (#177128)
+- /usr/share/texmf/doc is now owned by tetex package (#177065)
+- update searching order for kpathsea (local texmf tree is
+ searched first)
+- don't use obsolete bindings in texdoc
+
* Mon Dec 19 2005 Jindrich Novy <jnovy at redhat.com> 3.0-8.FC4
- apply more complete fix for CVE-2005-3193 (#175110) suggested by
security response team, taken from xpdf
- Previous message (by thread): rpms/tetex/devel tetex-3.0-CVE-2005-3193.patch, 1.2, 1.3 tetex-3.0-texmfcnf.patch, 1.3, 1.4 tetex.spec, 1.78, 1.79
- Next message (by thread): rpms/tetex/FC-3 tetex-2.0.2-CVE-2005-3193.patch, 1.2, 1.3 tetex.spec, 1.52, 1.53
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the fedora-cvs-commits
mailing list