GNU gv Stack Overflow Vulnerability
Program : GNU gv Homepage : http://www.gnu.org/software/gv/ Tested version : 3.6.2 Found by : r.lifchitz at sysdream dot com This advisory : r.lifchitz at sysdream dot com Discovery date : 2006/11/06 Vendor notified : 2006/11/09
//----- Application description
gv is a comfortable viewer of PostScript and PDF files for the X Window System. It uses the ghostscript PostScript interpreter and is based on the classic X front-end for gs, ghostview, which it has replaced now.
//----- Description of vulnerability
The 'gv' viewer is prone to a remote stack overflow vulnerability. This issue exists because the application fails to perform proper boundary checks before copying user-supplied data into process buffers. A remote attacker may execute arbitrary code in the context of a user running the application. As a result, the attacker can gain unauthorized access to the vulnerable computer.
This issue is present itself in the 'ps_gettext()' function residing in the 'ps.c' file.
Long comments in some specific headers (such as '%%DocumentMedia:') of PS files are unconditionally copied into 'text', a 257 character buffer on the stack.
This issue is reported to affect gv 3.6.2, but earlier versions are likely prone to this vulnerability as well. Applications using embedded gv code may also be vulnerable.
//----- Proof Of Concept
Use: $ uudecode < this-advisory.txt to extract the exploit.
No known solution. You have to wait for a vendor upgrade and be careful with unknown PS files.
Successful exploitation leads to remote code execution.
Renaud Lifchitz r.lifchitz at sysdream dot com http://www.sysdream.com/
Thanks to Ali Rahbar
Full-Disclosure - We believe in it. Charter: http://lists.grok.org.uk/full-disclosure-charter.html Hosted and sponsored by Secunia - http://secunia.com/