Symantec Antivirus Missing Bounds Checks in dec2zip ALPkOldFormatDecompressor::UnShrink

2016.06.30
Risk: High
Local: Yes
Remote: No
CWE: CWE-20


CVSS Base Score: 10/10
Impact Subscore: 10/10
Exploitability Subscore: 10/10
Exploit range: Remote
Attack complexity: Low
Authentication: No required
Confidentiality impact: Complete
Integrity impact: Complete
Availability impact: Complete

A major component of the Symantec Antivirus scan engine is the "Decomposer", responsible for unpacking various archive formats such as ZIP, RAR, and so on. The decomposer runs as NT AUTHORITYSYSTEM on Windows, and root on Linux and Mac. Simple fuzzing of zip archives discovered missing bounds checks in the routine ALPkOldFormatDecompressor::UnShrink, used to decode Zip archives. The routine uses a 16bit value read from the file to index a 256 element array without any bounds checking, the attached testcase should demonstrate this reliably. I have verified this on the following products: Norton Antivirus, Windows Symantec Endpoint Protection, Linux and Windows Symantec Scan Engine, Linux and Windows (534.700): Access violation - code c0000005 (!!! second chance !!!) eax=00003000 ebx=00003000 ecx=00003000 edx=00002000 esi=16adeb58 edi=16ad8b1b eip=6ba47ec3 esp=16ad6af0 ebp=16adeb20 iopl=0 nv up ei pl nz na pe nc cs=0023 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206 ccScanw!filelengthi64+0x3af63: 6ba47ec3 66399445fcbfffff cmp word ptr [ebp+eax*2-4004h],dx ss:002b:16ae0b1c=???? 0:071> ub ccScanw!filelengthi64+0x3af3f: 6ba47e9f 8bb5ec7fffff mov esi,dword ptr [ebp-8014h] 6ba47ea5 8bc7 mov eax,edi 6ba47ea7 8985e07fffff mov dword ptr [ebp-8020h],eax 6ba47ead e96d010000 jmp ccScanw!filelengthi64+0x3b0bf (6ba4801f) 6ba47eb2 0fbfc3 movsx eax,bx 6ba47eb5 ba00200000 mov edx,2000h 6ba47eba 8dbdfb9fffff lea edi,[ebp-6005h] 6ba47ec0 0fb7cb movzx ecx,bx 0:071> lmv m ccScanw start end module name 6b930000 6bb5f000 ccScanw (export symbols) C:Program Files (x86)Norton SecurityEngine22.6.0.142ccScanw.dll Loaded symbol image file: C:Program Files (x86)Norton SecurityEngine22.6.0.142ccScanw.dll Image path: C:Program Files (x86)Norton SecurityEngine22.6.0.142ccScanw.dll Image name: ccScanw.dll Timestamp: Tue Jan 26 13:51:55 2016 (56A7EA7B) CheckSum: 0022B3ED ImageSize: 0022F000 File version: 13.1.2.19 Product version: 13.1.2.19 File flags: 0 (Mask 3F) File OS: 40004 NT Win32 File type: 1.0 App File date: 00000000.00000000 Translations: 0409.04b0 CompanyName: Symantec Corporation ProductName: Symantec Security Technologies InternalName: ccScan OriginalFilename: CCSCAN.DLL ProductVersion: 13.1.2.19 FileVersion: 13.1.2.19 FileDescription: Symantec Scan Engine LegalCopyright: Copyright (c) 2015 Symantec Corporation. All rights reserved.

References:

https://bugs.chromium.org/p/project-zero/issues/detail?id=821


Vote for this issue:
50%
50%


 

Thanks for you vote!


 

Thanks for you comment!
Your message is in quarantine 48 hours.

Comment it here.


(*) - required fields.  
{{ x.nick }} | Date: {{ x.ux * 1000 | date:'yyyy-MM-dd' }} {{ x.ux * 1000 | date:'HH:mm' }} CET+1
{{ x.comment }}

Copyright 2024, cxsecurity.com

 

Back to Top