Bug 217674 - CVE-2006-5864 evince contains a buffer overflow in get_next_text()
CVE-2006-5864 evince contains a buffer overflow in get_next_text()
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: evince (Show other bugs)
5.0
All Linux
low Severity low
: ---
: ---
Assigned To: Kristian Høgsberg
http://www.securityfocus.com/archive/...
source=bugtraq,reported=20061128,impa...
: Desktop, Security
Depends On: CVE-2006-5864
Blocks:
  Show dependency treegraph
 
Reported: 2006-11-29 05:42 EST by Lubomir Kundrak
Modified: 2007-11-30 17:07 EST (History)
2 users (show)

See Also:
Fixed In Version: 5.0.0
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-12-19 10:33:36 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
the upstream fix (822 bytes, patch)
2006-12-10 21:50 EST, Matthias Clasen
no flags Details | Diff

  None (edit)
Description Lubomir Kundrak 2006-11-29 05:42:32 EST
+++ This bug was initially created as a clone of Bug #217672 +++
+++ This bug was initially created as a clone of Bug #215593 +++

The original GNU gv issue is described here:
http://www.securityfocus.com/archive/1/archive/1/451057/100/0/threaded

Description of problem:

The function ps_gettext() in ps.c is vulnerable to a buffer overflow condition,
because it copies characters from input file to a fixed-sized array text[].

How reproducible:

With specially crafted files looking like either of those below this paragraph.
(Replace ... with something a bit longer than PSLINELENGTH (256), so it
overwrites stack. It can be potantially malicious code that might get executed
on functio return)

%!PS-Adobe-3.0
%%DocumentMedia: ...

%!PS-Adobe-3.0
%%DocumentPaperSizes: ...

%!PS-Adobe-3.0
%%EndComments
%%BeginDefaults
%%PageMedia: ...

%!PS-Adobe-3.0
%%EndComments
%%BeginSetup
%%PaperSize: ...

Alternatively use exploit attached to original advisory, which connects to
a TCP socket and opens a shell. The evince advisory contains another one.

Additional info:

Ggv and kghostview seem not to contain the affected code.

-- Additional comment from lkundrak@redhat.com on 2006-11-14 14:34 EST --
Created an attachment (id=141170)
A GNU gv patch from Gentoo Linux project
Comment 1 Kristian Høgsberg 2006-11-29 11:22:25 EST
Evince doesn't contain ghostscript or gv code, it forks ghostscript to render
postscript documents.  Just to be sure, I did a

[krh@devserv evince-0.6.0]$ find . -name '*.c' |xargs grep ps_get
./dvi/mdvi-lib/fontmap.c:TFMInfo *mdvi_ps_get_metrics(const char *fontname)
./dvi/mdvi-lib/t1.c:    info->tfminfo = mdvi_ps_get_metrics(info->fontname);

There is no ps_gettext function anywhere in evince.

Am I missing something, or is this misfiled?
Comment 2 Matthias Clasen 2006-11-29 22:51:21 EST
Kristian, if you look at get_next_text(), it clearly has an overflow issue with 
the text array.
Comment 3 Matthias Clasen 2006-12-01 14:51:53 EST
Fixed Ubuntu packages: http://lwn.net/Articles/212283/
Comment 4 Matthias Clasen 2006-12-10 21:50:48 EST
Created attachment 143256 [details]
the upstream fix
Comment 5 Matthias Clasen 2006-12-10 22:10:29 EST
Fix is in evince-0.6.0-8.el5
Comment 6 Mark J. Cox (Product Security) 2006-12-15 04:43:33 EST
20061214
Comment 7 Jay Turner 2006-12-19 10:33:36 EST
evince-0.6.0-8.el5 included in 20061218.1 trees.

Note You need to log in before you can comment on or make changes to this bug.