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 [http://www.inkatel.com]