lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20030205125807.757ecbc8.aluigi@pivx.com>
From: aluigi at pivx.com (Auriemma Luigi)
Subject: Unreal engine: results of my research

After almost 3 months, I have finally decided to release the huge
advisory/paper about bugs founded in the Unreal engine and all the relative
code for the vulnerabilities exploitation (plus some tools that I have
written during the reversing of the engine).


The link for get the english advisory is:

http://www.pivx.com/luigi/adv/ueng-adv.txt


And this is the link for the italian version:

http://www.pivx.com/luigi/adv/ueng-adv-ita.txt



The games interested by the vulnerabilities are really a lot and the
following is a list of games based on Unreal engine and that have
implemented its network engine:

    - Star Trek: The Next Generation: Klingon Honor Guard
    - Unreal
    - The Wheel of Time
    - Deus Ex
    - Mobile Forces
    - Rune
    - Unreal Tournament
    - Hired Guns
    - Navy Seals
    - TNN Outdoor Pro Hunter
    - Werewolf
    - X-Com: Alliance
    - Adventure Pinball
    - America's Army
    - Unreal Tournament 2003
    - future games (if the developers will not use a fixed
      Unreal engine) like DeusEx2, Duke Nukem Forever,
      Postal 2, Thief III and XIII just for example


The following is a very quick list of the bugs I have found:

1] Unreal engine doesn't have an handshake between client and server,
   so an attacker can create DoS, DDoS and bounce attacks with spoofed
   UDP packets.

2] Unreal engine uses challenge keys to identify each match but, I
   don't know why, seems that the server doesn't really manage the
   keys in the client's answers and furthermore it doesn't make other
   checks to avoid an attacker easily adding faked players to the
   server.

3] The Unreal engine has problems managing negative long numbers
   (used for specify the size of data).
-  If an attacker use negative numbers in network packets, the Unreal
   server will allocate an amount of RAM that is equal to the number
   without the sign or crash if the amount of bytes is greater than
   the available memory.
-  If the attacker uses package files (the maps for example) he can
   easily execute code on the machine that launch the file, because
   the bug used in package file allows the attacker to overwrite the 
   EIP register and upload all his code (no size limitations) in 
   memory.

4] Problems with Unreal URLs (unreal://...)


Unfortunally there are no patches at the moment because (as everyone can
understood) Epic Games after almost 3 months has not taken seriously these
problems and I am sorry for have waited too much time for release the
documents (Bugtraq timeout is less than a week and generally I wait maximum
1 month; 3 months are really too too much!)



BYEZ


--- 
PivX Security Researcher
http://www.pivx.com/luigi/



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ