tiff/tiff-3.9.4-CVE-2011-0192.patch
Petr Gajdos 02c9a4e927 - fixed regression caused by previous update [bnc#682871]
* modified CVE-2011-0192.patch
- fixed buffer overflow in thunder decoder [bnc#683337]
  * added CVE-2011-1167.patch

OBS-URL: https://build.opensuse.org/package/show/graphics/tiff?expand=0&rev=27
2011-03-31 21:13:45 +00:00

30 lines
1.2 KiB
Diff

Protect against a fax VL(n) codeword commanding a move left. Without
this, a malicious input file can generate an indefinitely large series
of runs without a0 ever reaching the right margin, thus overrunning
our buffer of run lengths. Per CVE-2011-0192. This is a modified
version of a patch proposed by Drew Yao of Apple Product Security.
It adds an unexpected() report, and disallows the equality case except
for the first run of a line, since emitting a run without increasing a0
still allows buffer overrun. (We have to allow it for the first run to
cover the case of encoding a zero-length run at start of line using VL.)
http://bugzilla.maptools.org/show_bug.cgi?id=2297
diff -Naur libtiff/tif_fax3.h tiff-3.9.4/libtiff/tif_fax3.h
--- libtiff/tif_fax3.h 2010-06-08 14:50:42.000000000 -0400
+++ libtiff/tif_fax3.h 2011-03-10 12:11:20.850839162 -0500
@@ -478,6 +478,12 @@
break; \
case S_VL: \
CHECK_b1; \
+ if (b1 <= (int) (a0 + TabEnt->Param)) { \
+ if (b1 < (int) (a0 + TabEnt->Param) || pa != thisrun) { \
+ unexpected("VL", a0); \
+ goto eol2d; \
+ } \
+ } \
SETVALUE(b1 - a0 - TabEnt->Param); \
b1 -= *--pb; \
break; \