NOD32 Antivirus Long Path Name Stack Overflow Vulnerabilities
I - DESCRIPTION
NOD32 Antivirus is vulnerable to two stack overflow vulnerabilities.
The vulnerabilities can be exploited when the AV tries to
delete/disinfect or rename a detected malware in a specially formated
directory.
These vulnerabilities can lead to local/remote arbitrary code execution.
II - DISCLOSURE TIMELINE
19/04/2007 - First Vulnerability reported to ESET
19/04/2007 - ESET Response
20/04/2007 - Vulnerability Analysis and PoC sent to ESET
20/04/2007 - ESET initial feedback
24/04/2007 - Confirmed the bug and fixed
07/05/2007 - ESET made available the updates
10/05/2007 - A second vulnerability was founded and reported to ESET
with a PoC an analysis
10/05/2007 - ESET response, Confirmed the bug and fixed
15/05/2007 - ESET made available the updates
19/05/2007 - Coordinated public disclosure
III - AFFECTED PRODUCTS
NOD32 Antivirus v2.7 (Versions prior to the update 2.70.37.0)
IV - ADVANCED DESCRIPTION
It's not going to be publicly available, nevertheless it has been only
shared with ESET.
V - EXPLOITATION
A PoC has been developed to probe the vulnerability, but it's not going
to be publicly available. It has been only shared with ESET.
Although the vulnerabilities are hard to exploit, it's not impossible.
There are some restrictions to bypass:
- The path name is formated in Unicode, so we have to find an opcode
in an address with an unicode format
- The shellcode has to be in the path name so we have to use an
Alphanumeric shellcode
VI - SOLUTION
The vulnerabilities was reported on April 19 and on May 10. An update
has been issued on May 18 to solve these vulnerabilities through the
regular update mechanism.
VII - CREDIT
Bug found by Ismael Briones <ismak at inkatel dot com>
[http://www.inkatel.com]