Pages

Iconics GENESIS32/GENESIS64 Integer Overflow Vulnerability Seven

Vulnerability

Multiple vulnerabilities have been identified in ICONICS GENESIS32 and GENESIS64, which could be exploited by remote attackers to cause a denial of service or take complete control of a vulnerable system. These issues are caused by memory corruptions and integer overflow errors in the “GenBroker” service when processing malformed requests sent to port 38080/TCP (opcodes 0xfa7, 0xfa4, 0xdb0, 0xdae, 0x89b, 0x89a, 0x7d0, 0x4b5, 0x4b2, 0x4b0, 0×455, 0×454, 0×453, 0×451, 0×450, 0x3f0, 0x26ac, 0x1c86, 0x1c84, 0x1c24, 0x1c20, 0x1bbd, 0x1bbc, 0×1394, 0×1393, 0×1392, 0×1391, 0×1390, and 0x138f), which could allow remote unauthenticated attackers to crash an affected service or execute arbitrary code with elevated privileges.

Multiple vulnerabilities have been reported that affect services on 38080/TCP:

• Multiple integer overflow (remotely exploitable)
• Double-free memory corruption (remotely exploitable)

GenBroker is a Windows service running on port 38080.

The addresses and code snippets reported here are referred to GENESIS32 9.2.

The service is affected by an integer overflow vulnerability during the handling of the opcodes 0xdae and 0xdb0 that make use of the function 0044C6B0 caused by the allocation of the memory needed for the creation of an array trusting the number of elements passed by the client.

The resulting memory corruptions (like direct registry calls, memory locations calls, writing of data in arbitrary locations and so on) allow code execution.

Vulnerable code:
0044C7C8 |. E8 A3A9FCFF CALL 00417170 ; get 32bit
0044C7CD |. 8B07 MOV EAX,DWORD PTR DS:[EDI]
0044C7CF |. 85C0 TEST EAX,EAX
0044C7D1 |.^ 74 C5 JE SHORT 0044C798
0044C7D3 |. C1E0 02 SHL EAX,2 ; * 4
0044C7D6 |. 50 PUSH EAX
0044C7D7 |. E8 DCA90500 CALL ; malloc
0044C7DC |. 8B0F MOV ECX,DWORD PTR DS:[EDI]
0044C7DE |. C1E1 02 SHL ECX,2 ; * 4
0044C7E1 |. 51 PUSH ECX
0044C7E2 |. 8947 04 MOV DWORD PTR DS:[EDI+4],EAX
0044C7E5 |. E8 CEA90500 CALL ; malloc

Affected Systems

  • All versions of GENESIS32 9.21 and older
  • All versions of GENESIS64 10.51 and older

Impact

An attacker can exploit Integer overflows to cause undefined behavior, crashes, or to execute arbitrary code and take control of a vulnerable system. Integer overflows can also result in a buffer overflow condition in which data corruption will most likely take place.

Detection

Digital Bond has not released a Quickdraw IDS Signature for this vulnerability at this time.

Remediation

There is currently no fix available.

External Links

ICS−ALERT-11-080-02 MULTIPLE VULNERABILITIES IN ICONICS GENESIS (32 & 64)