<?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>Justin Samuel</title>
	<atom:link href="http://www.justinsamuel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.justinsamuel.com</link>
	<description>Security, Linux, Development</description>
	<lastBuildDate>Thu, 24 Dec 2009 19:29:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Additional browser support in RequestPolicy</title>
		<link>http://www.justinsamuel.com/2009/01/08/additional-browser-support-in-requestpolicy/</link>
		<comments>http://www.justinsamuel.com/2009/01/08/additional-browser-support-in-requestpolicy/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 02:24:33 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[RequestPolicy]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/?p=121</guid>
		<description><![CDATA[I&#8217;ve spent the last few days adding support for more browsers to RequestPolicy. As of RequestPolicy 0.4.3, the following are now supported:

Firefox 3+
SeaMonkey 2.0 (tested on 2.0a2)
Flock 2.0
Fennec 1.0 (tested on 1.0a2)
Songbird 1.0

Fennec took a bit of fiddling because it&#8217;s not well documented yet. However, the code is available and that helped. Here are some [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve spent the last few days adding support for more browsers to RequestPolicy. As of RequestPolicy 0.4.3, the following are now supported:</p>
<ul>
<li>Firefox 3+</li>
<li>SeaMonkey 2.0 (tested on 2.0a2)</li>
<li>Flock 2.0</li>
<li>Fennec 1.0 (tested on 1.0a2)</li>
<li>Songbird 1.0</li>
</ul>
<p>Fennec took a bit of fiddling because it&#8217;s not well documented yet. However, the <a href="http://hg.mozilla.org/mobile-browser/file/">code is available</a> and that helped. <a href="http://www.requestpolicy.com/browsers/fennec">Here are some screenshots</a> of the fruits of my Fennec labor. <a href="https://addons.mozilla.org/en-US/fennec/search?q=&amp;cat=all&amp;as=true&amp;vfuz=true&amp;appid=60&amp;lver=any&amp;hver=any&amp;atype=1&amp;pid=0&amp;lup=&amp;pp=20&amp;sort=weeklydownloads">A quick look</a> shows that RequestPolicy is the 12th extension to add support for Fennec (RequestPolicy is the most popular experimental one).</p>
<p>I had never actually gotten around to trying Flock before, and that was interesting. I definitely see its value to a large number of social network-using and mucho media-viewing users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2009/01/08/additional-browser-support-in-requestpolicy/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>RequestPolicy: Firefox extension for increased privacy and security</title>
		<link>http://www.justinsamuel.com/2008/12/30/requestpolicy-firefox-extension-for-increased-privacy-and-security/</link>
		<comments>http://www.justinsamuel.com/2008/12/30/requestpolicy-firefox-extension-for-increased-privacy-and-security/#comments</comments>
		<pubDate>Wed, 31 Dec 2008 03:45:54 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[RequestPolicy]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/?p=116</guid>
		<description><![CDATA[The Firefox extension I&#8217;ve been working on the past few months is now ready for general usage.
As I describe it on the requestpolicy.com website:
RequestPolicy is a Firefox extension that improves the privacy and security of your browsing by giving you control    over when cross-site requests are allowed by webpages you visit.
The lack [...]]]></description>
			<content:encoded><![CDATA[<p>The Firefox extension I&#8217;ve been working on the past few months is now ready for general usage.</p>
<p>As I describe it on the <a href="http://www.requestpolicy.com/">requestpolicy.com</a> website:</p>
<blockquote><p>RequestPolicy is a Firefox extension that improves the <a href="http://requestpolicy.com/privacy">privacy</a> and <a href="http://requestpolicy.com/security">security</a> of your browsing by giving you control    over when cross-site requests are allowed by webpages you visit.</p></blockquote>
<p>The lack of user control over cross-site requests is a fundamental area that has been overlooked in browser security. We have great extensions like NoScript to give us control over the execution of scripts and objects in our browser, but cross site requests are still a major privacy and security problem that has been neglected. RequestPolicy provides a strong and secure default policy (blocking cross-site requests) and lets you whitelist cross-site requests as needed. As with extensions such as NoScript, within a week of using the extension, you won&#8217;t need to do much whitelisting.</p>
<p>The current version is 0.3.4. You can download it from <a href="http://www.requestpolicy.com/">requestpolicy.com</a> or you can get it from the <a href="https://addons.mozilla.org/en-US/firefox/addon/9727/">Mozilla addons site</a> (addons.mozilla.org, a.k.a. AMO).<span id="more-116"></span></p>
<p>I just nominated it for public status at AMO a few days ago. It will probably be somewhere between a few weeks and a few months before it makes its way through the public nomination queue. In the mean time, downloading from AMO requires registering an account there, but you can download it from requestpolicy.com if you don&#8217;t have or want an AMO account.</p>
<p>It&#8217;s important to remember that this isn&#8217;t a replacement for NoScript. A truly secure Firefox installation will include both RequestPolicy and NoScript.</p>
<p>Let me know if you have any questions or suggestions, and especially if you discover any bugs!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2008/12/30/requestpolicy-firefox-extension-for-increased-privacy-and-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Importance of Validating SSL Certificates</title>
		<link>http://www.justinsamuel.com/2008/12/25/the-importance-of-validating-ssl-certificates/</link>
		<comments>http://www.justinsamuel.com/2008/12/25/the-importance-of-validating-ssl-certificates/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 21:12:34 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Encryption]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/?p=71</guid>
		<description><![CDATA[One of the more common but still widely forgotten security issues I see is that of forgetting to validate SSL certificates. I&#8217;m not talking about accepting certificate mismatches while browsing a mailing list archive. I&#8217;m talking about developers programming https communication.
What all developers need to keep in mind are two things:
1) SSL does very little [...]]]></description>
			<content:encoded><![CDATA[<p>One of the more common but still widely forgotten security issues I see is that of forgetting to validate SSL certificates. I&#8217;m not talking about accepting certificate mismatches while browsing a mailing list archive. I&#8217;m talking about developers programming https communication.</p>
<p><strong>What all developers need to keep in mind are two things:</strong></p>
<p><strong>1) SSL does very little good unless you are talking to who you think you are talking to.</strong></p>
<p><strong>2) The communication library you are using may not be validating SSL certificates.</strong></p>
<p><strong>Regarding #1:</strong> Why does SSL do little good without certificate validation? It&#8217;s because having an encrypted conversation with a man-in-the-middle is not the idea. In that case, all you&#8217;re protecting against is someone snooping on the wire between you and the attacker you are having the SSL conversation with. In the day of BGP attacks and DNS cache poisoning, which I&#8217;m lumping together in the &#8220;MITM&#8221; category for these purposes, the MITM isn&#8217;t necessarily only a powerful entity like a government. These aren&#8217;t just theoretical risks.<span id="more-71"></span></p>
<p>Sometimes developers do this intentionally out of ignorance and convenience, like <a href="http://secunia.com/advisories/21663/">popular billing systems disabling certificate validation</a>. (Side note: as far as I know, that company didn&#8217;t actually respond by making the default secure, instead they just buried a new option where you can enable proper SSL communication. Nice!) Other times, though, it&#8217;s not willful stupidity or intentionally putting users at risk, but rather just a lack of understanding of how SSL works and what the dangers are that SSL exists to protect against.</p>
<p>Related to understanding the purpose of SSL are the general arguments for better education about fundamental security topics (in schools, among employees, and by developers on their own), requiring an understanding of security fundamentals when hiring developers, and also recognizing that <strong>having security experts on your team is crucial because you can&#8217;t expect your developers to all be security experts</strong>.</p>
<p><strong>Regarding #2:</strong> Often, though, developers are smart people who know the risks as well as the solution. They&#8217;re using SSL for the right reasons. It just, unfortunately, happens that they took for granted that other developers understood the same things and those other developers defaulted to correct security. When using a library that handles SSL, informed developers often assume that other informed developers wrote the SSL code. It makes sense. They assume that certificates are being validated by default. They assume that if the library can&#8217;t find the OS&#8217;s installed root certificates, that every request will fail and the developer using the library will then have to make sure that the code can find the root certificates available on the system. That&#8217;s the smart and expected behavior. However, the code we use was not always written this intelligently.</p>
<p>An example of this is python&#8217;s urllib. Many smart developers have written insecure code because they assumed if you use urllib to make an SSL connection, SSL will be used as it&#8217;s supposed to be. Instead, urllib as it was originally written and still currently exist ignores the fact that SSL is used for a handful of important reasons and just ignores security almost completely (and silently). It proceeds to retrieve any https-requested content with almost the same level of security as a plain http connection (because, really, when you are not validating SSL certificates, that&#8217;s basically what you have unless your adversary is someone passively listening with wireshark at the same café as you).</p>
<p>Many important projects have been bitten by python&#8217;s urllib SSL negligence. These includes <a href="http://rhn.redhat.com/errata/RHSA-2008-0815.html">Red Hat Enterprise&#8217;s update system</a>, <a href="http://www.mail-archive.com/fedora-infrastructure-list@redhat.com/msg03556.html">YUM</a>, and <a href="http://archives.seul.org/or/dev/Dec-2008/msg00016.html">Tor&#8217;s in-development updater</a>. Thankfully, urllib will get <a href="http://www.heikkitoivonen.net/blog/2008/10/14/ssl-in-python-26/">better but not perfect in python 2.6</a>.</p>
<p><strong>What should you do? First, understand why SSL exists. Second, test any code you write that uses or might use https urls to ensure that that it fails when the SSL certificate isn&#8217;t valid.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2008/12/25/the-importance-of-validating-ssl-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vulnerability: AWBS magic_quotes_gpc &#8220;Off&#8221; SQL Injection and XSS</title>
		<link>http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/</link>
		<comments>http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 16:01:56 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/</guid>
		<description><![CDATA[Advisory: AWBS magic_quotes_gpc &#8220;Off&#8221; SQL Injection and XSS Vulnerabilities
Release Date: 2007-06-10
Last Modified: 2007-07-26
Author: Justin Samuel [http://www.justinsamuel.com]
Application: AWBS &#60; 2.6.0
Severity: Highly Critical
Impact: Disclosure of sensitive information
Cross site scripting
Vendor Status: Vendor released version 2.6.0 to address issue. Testing still needed to verify that issue is corrected.
Vendor: Total Online Solutions, Inc.
App. Website: http://www.awbs.com/
References: http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
Description:
Advanced Webhost Billing System (AWBS) [...]]]></description>
			<content:encoded><![CDATA[<p>Advisory: AWBS magic_quotes_gpc &#8220;Off&#8221; SQL Injection and XSS Vulnerabilities<br />
Release Date: 2007-06-10<br />
Last Modified: 2007-07-26<br />
Author: Justin Samuel [<a href="http://www.justinsamuel.com">http://www.justinsamuel.com</a>]</p>
<p>Application: AWBS &lt; 2.6.0<br />
Severity: Highly Critical<br />
Impact: Disclosure of sensitive information<br />
Cross site scripting<br />
Vendor Status: Vendor released version 2.6.0 to address issue. Testing still needed to verify that issue is corrected.</p>
<p>Vendor: Total Online Solutions, Inc.<br />
App. Website: <a href="http://www.awbs.com/">http://www.awbs.com/</a><br />
References: <a href="http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/">http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Description:</p>
<p>Advanced Webhost Billing System (AWBS) contains multiple SQL injection and XSS<br />
vulnerabilities due to a lack of user input validation.<br />
<span id="more-17"></span><br />
The software is not vulnerable to these issues when running with PHP&#8217;s<br />
magic_quotes_gpc setting &#8220;On&#8221;. The vendor states that magic_quotes_gpc &#8220;On&#8221; is<br />
a requirement in one place in their installation guide. However, this setting<br />
is not checked by the installer nor is it enforced by having the software<br />
refuse to run with magic_quotes_gpc &#8220;Off&#8221;.</p>
<p>These vulnerabilities allow for any user with an account in the AWBS software<br />
to perform SQL injection in numerous places. This can be done even with new<br />
accounts created through the public side of AWBS that have no active services.</p>
<p>The available SQL injection attacks can be used to mine all information from<br />
the AWBS database. This includes the following information:</p>
<p>* Root passwords to all servers used for hosting the websites of hosting<br />
accounts sold through AWBS, resulting in multiple server compromise.<br />
* Root passwords to all dedicated servers sold through AWBS, resulting in<br />
multiple server compromise.<br />
* Control panel usernames and passwords for all hosting accounts sold through<br />
AWBS, resulting in multiple website compromise.<br />
* Credit card information for all customers whose credit card info is stored in<br />
AWBS, even if the administrative option to encrypt credit cards numbers<br />
has been used. The encrypted credit card numbers are not safe because the<br />
symmetric encryption key can also be obtained from the database.</p>
<p>Additionally, SQL injection attacks allow an attacker to bypass AWBS&#8217;s anti-XSS<br />
input validation. The available XSS attacks allow an attacker to compromise the<br />
AWBS administrator&#8217;s session id to gain full administrative access to AWBS.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Proof of Concept:</p>
<p>Proof of concept exploit code has been provided to the vendor for every attack<br />
outlined in the description.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Disclosure Timeline:</p>
<p>2007-06-10: Informed AWBS developers of vulnerability details by email.</p>
<p>2007-07-26: Public disclosure.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Recommendations:</p>
<p>Do not run AWBS with PHP&#8217;s magic_quotes_gpc setting &#8220;Off&#8221; until the vendor<br />
releases a fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2007/06/10/awbs-magic_quotes_gpc-off-sql-injection-and-xss-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vulnerability: AWBS Dedicated Server Info Visible to All Users</title>
		<link>http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/</link>
		<comments>http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 16:00:55 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Vulnerabilities]]></category>
		<category><![CDATA[information disclosure]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/</guid>
		<description><![CDATA[Advisory: AWBS Dedicated Server Info Visible to All Users
Release Date: 2007-06-10
Last Modified: 2007-07-26
Author: Justin Samuel [http://www.justinsamuel.com]
Application: AWBS &#60; 2.6.0
Severity: Less Critical
Impact: Disclosure of sensitive information
Vendor Status: Vendor released version 2.6.0 to address issue. Testing still needed to verify that issue is corrected.
Vendor: Total Online Solutions, Inc.
App. Website: http://www.awbs.com/
References: http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;
Description:
Advanced Webhost Billing System (AWBS) allows any [...]]]></description>
			<content:encoded><![CDATA[<p>Advisory: AWBS Dedicated Server Info Visible to All Users<br />
Release Date: 2007-06-10<br />
Last Modified: 2007-07-26<br />
Author: Justin Samuel [<a href="http://www.justinsamuel.com">http://www.justinsamuel.com</a>]</p>
<p>Application: AWBS &lt; 2.6.0<br />
Severity: Less Critical<br />
Impact: Disclosure of sensitive information<br />
Vendor Status: Vendor released version 2.6.0 to address issue. Testing still needed to verify that issue is corrected.</p>
<p>Vendor: Total Online Solutions, Inc.<br />
App. Website: <a href="http://www.awbs.com/">http://www.awbs.com/</a><br />
References: <a href="http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/">http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Description:</p>
<p>Advanced Webhost Billing System (AWBS) allows any user access to the details of<br />
all dedicated servers sold through AWBS.<br />
<span id="more-16"></span><br />
The information made available about all dedicated servers includes:<br />
- Server hostname<br />
- Main IP address<br />
- Admin username<br />
- Nameservers</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Proof of Concept:</p>
<p>Proof of concept exploit code has been provided to the vendor.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Disclosure Timeline:</p>
<p>2007-06-10: Informed AWBS developers of vulnerability details by email.</p>
<p>2007-07-26: Public disclosure.</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</p>
<p>Recommendations:</p>
<p>If using AWBS to sell dedicated servers, remove the file smanage.php until the<br />
vendor releases a fix or upgrade to patched version of software.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2007/06/10/awbs-dedicated-server-info-visible-to-all-users-vulnerability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vulnerability: ModernBill Insecure CURL Settings</title>
		<link>http://www.justinsamuel.com/2006/07/11/vulnerability-modernbill-insecure-curl-settings/</link>
		<comments>http://www.justinsamuel.com/2006/07/11/vulnerability-modernbill-insecure-curl-settings/#comments</comments>
		<pubDate>Tue, 11 Jul 2006 19:48:22 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/security-vulnerabilities/12/vulnerability-modernbill-insecure-curl-settings</guid>
		<description><![CDATA[#################################################################
Vulnerability discovered by: Justin Samuel (www.justinsamuel.com)
Discovery Date: 2006-07-11
Severity: Less Critical
Impact: Exposure of sensitive information
Product: ModernBill
Affected Versions: 5.0.1
Vendor: ModernGigabyte, LLC (www.moderngigabyte.com)
Product Link: http://www.modernbill.com/
#################################################################

Update 2006-08-19:
Not fixed as of 5.0.4, despite vendor knowledge of the issue since 2006-07-12.
#################################################################
Vulnerability Description:
ModernBill&#8217;s CURL (a.k.a. cURL, curl) communication with credit card processing gateways is done with CURL ignoring any invalid SSL certificate [...]]]></description>
			<content:encoded><![CDATA[<p>#################################################################</p>
<p>Vulnerability discovered by: Justin Samuel (<a href="http://www.justinsamuel.com">www.justinsamuel.com</a>)<br />
Discovery Date: 2006-07-11<br />
Severity: Less Critical<br />
Impact: Exposure of sensitive information</p>
<p>Product: ModernBill<br />
Affected Versions: 5.0.1<br />
Vendor: ModernGigabyte, LLC (www.moderngigabyte.com)<br />
Product Link: http://www.modernbill.com/</p>
<p>#################################################################<br />
<span id="more-12"></span><br />
Update 2006-08-19:<br />
Not fixed as of 5.0.4, despite vendor knowledge of the issue since 2006-07-12.</p>
<p>#################################################################</p>
<p>Vulnerability Description:</p>
<p>ModernBill&#8217;s CURL (a.k.a. cURL, curl) communication with credit card processing gateways is done with CURL ignoring any invalid SSL certificate of the host it is communicating with.</p>
<p>Specifically, the following have been set to FALSE for CURL communication:</p>
<p>CURLOPT_SSL_VERIFYPEER<br />
CURLOPT_SSL_VERIFYHOST</p>
<p>The CURLOPT_SSL_VERIFYPEER setting of FALSE stops CURL from verifying the peer&#8217;s certificate.</p>
<p>The CURLOPT_SSL_VERIFYHOST setting of FALSE stops CURL from checking the existence  of a common name in the peer&#8217;s SSL certificate.</p>
<p>#################################################################</p>
<p>Vulnerability Verification:</p>
<p>To check the CURL settings in use by ModernBill:</p>
<p>1) Install ModernBill.</p>
<p>2) Setup a payment processor.</p>
<p>3) In the file lib-modernbill/include/config/debug.php, change<br />
define(&#8220;DEBUG&#8221;, 0);<br />
to<br />
define(&#8220;DEBUG&#8221;, 1);</p>
<p>4) Attempt to process a credit card through the ModernBill&#8217;s Virtual Terminal and look for the following in the debug output of the page:</p>
<p><code>[constantsSetting] => Array<br />
        (<br />
            [CURLOPT_RETURNTRANSFER] => 1<br />
            [CURLOPT_SSL_VERIFYHOST] => 0<br />
            [CURLOPT_SSL_VERIFYPEER] => 0<br />
            [CURLOPT_TIMEOUT] => 3000<br />
            [CURLOPT_CONNECTTIMEOUT] => 50<br />
            [CURLOPT_VERBOSE] => 0<br />
            [CURLOPT_NOPROGRESS] => 1<br />
            [CURLOPT_FAILONERROR] => 0<br />
        )</code></p>
<p>#################################################################</p>
<p>Exploit:</p>
<p>To exploit this vulnerability, an attacker would need to perform a Man-In-The-Middle (MITM) attack so as to receive the communication from ModernBill that was intended for the credit card processing gateway.  This would include any variety of DNS attacks that would cause ModernBill to resolve the gateway&#8217;s hostname to the IP address of the attacker.</p>
<p>A successful attack would lead to the attacker having access to all credit card information that ModernBill attempts to process through the credit card processing gateway.</p>
<p>#################################################################</p>
<p>Solution:</p>
<p>Discontinue using ModernBill until they stop disabling fundamental security that is part of the SSL protocol.</p>
<p>#################################################################</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2006/07/11/vulnerability-modernbill-insecure-curl-settings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>php 5.1.4 rpms for rhel4 added (with apc)</title>
		<link>http://www.justinsamuel.com/2006/05/25/php-514-rpms-for-rhel4-added-with-apc/</link>
		<comments>http://www.justinsamuel.com/2006/05/25/php-514-rpms-for-rhel4-added-with-apc/#comments</comments>
		<pubDate>Fri, 26 May 2006 03:45:06 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[RPMs]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/uncategorized/11/php-514-rpms-for-rhel4-added-with-apc</guid>
		<description><![CDATA[php 5.1.4 rpms for rhel 4 have been added to the rpm downloads section. These are based off of the current fedora core 5 rpms with the following changes:
    * shared hosting security: removed posix functions [shared hosting security]
    * removed pcntl functions [shared hosting security]
    [...]]]></description>
			<content:encoded><![CDATA[<p>php 5.1.4 rpms for rhel 4 have been added to the rpm downloads section. These are based off of the current fedora core 5 rpms with the following changes:</p>
<p>    * shared hosting security: removed posix functions [shared hosting security]<br />
    * removed pcntl functions [shared hosting security]<br />
    * added dummy domxml package [compatibility with other packages that depend on it, such as certain plesk 8 packages]</p>
<p>This build does have cgi compiled with fastcgi support.</p>
<p>Additionally, there is a corresponding php-apc 3.1.0 rpm available in the downloads section for this build of php.<span id="more-11"></span></p>
<p>To get these files with up2date, add my rpm signing key:<br />
rpm &#8211;import http://www.justinsamuel.com/downloads/rpms/RPM-GPG-KEY.js.txt</p>
<p>And add this line to your /etc/sysconfig/rhn/sources:<br />
yum justinsamuel-com http://www.justinsamuel.com/downloads/rpms/redhat/el4/en/$ARCH/js/</p>
<p>&#8212;<br />
topics: rh4, rhel4, red hat enterprise linux 4, centos4, cent os 4, php5, apc</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2006/05/25/php-514-rpms-for-rhel4-added-with-apc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>scponly rpms with chroot enabled added for rhel4</title>
		<link>http://www.justinsamuel.com/2006/03/30/scponly-rpms-with-chroot-enabled-added-for-rhel4/</link>
		<comments>http://www.justinsamuel.com/2006/03/30/scponly-rpms-with-chroot-enabled-added-for-rhel4/#comments</comments>
		<pubDate>Thu, 30 Mar 2006 15:53:58 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[RPMs]]></category>
		<category><![CDATA[Server Security]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/linux/server-security/10/scponly-rpms-with-chroot-enabled-added-for-rhel4</guid>
		<description><![CDATA[i&#8217;ve added scponly rpms with chroot enabled for rhel4.  get the files here or by apt/yum.  this is more useful in a shared hosting environment than the rpms found at DAG and elsewhere that don&#8217;t have chroot enabled.
to use this, for example on a plesk box to allow domains to use sftp without [...]]]></description>
			<content:encoded><![CDATA[<p>i&#8217;ve added scponly rpms with chroot enabled for rhel4.  <a href="http://www.justinsamuel.com/downloads/rpms/redhat/el4/en/i386/RPMS.js/">get the files here</a> or by apt/yum.  this is more useful in a shared hosting environment than the rpms found at DAG and elsewhere that don&#8217;t have chroot enabled.</p>
<p>to use this, for example on a plesk box to allow domains to use sftp without having to give them a chroot&#8217;ed bash shell, do the following:<span id="more-10"></span></p>
<p>- install the scponly rpm from the downloads area<br />
- add the following line to your /etc/shells file<br />
<code>/usr/sbin/scponlyc</code><br />
- set any domain you want to have sftp access without any other shell access to use this shell.<br />
- optionally, edit your domain templates and make the default shell this one and remove ability for clients to change the shell for a domain</p>
<p>note that this will only allow domains to use sftp but not scp (at least on a redhat box).  this is because plesk decided to put the scp binary for a site&#8217;s chroot someone different than it exists in the rest of the system, and so it&#8217;s not where the scponlyc shell will look for it.  so, just keep that in mind in case anyone complains sftp works but not scp.</p>
<p>if you want to have scp work for a domain, hard link the domain&#8217;s bin/scp to usr/bin/scp.  if you want, you can even make the change to the chroot directory so that newly created domains have scp available, too.  and if you&#8217;re brave, you can use the chrootmng tool to setup existing domains with your changes to the chroot directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2006/03/30/scponly-rpms-with-chroot-enabled-added-for-rhel4/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>php APC rpms added for php 5.1.2 / APC 3.0.10 / rhel 4</title>
		<link>http://www.justinsamuel.com/2006/03/15/php-apc-rpms-added-for-php-512-apc-3010-rhel-4/</link>
		<comments>http://www.justinsamuel.com/2006/03/15/php-apc-rpms-added-for-php-512-apc-3010-rhel-4/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 08:11:04 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[RPMs]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/uncategorized/2006/03/php-apc-rpms-added-for-php-512-apc-3010-rhel-4/8/</guid>
		<description><![CDATA[I&#8217;ve added php-apc rpms for php 5.1.2 on rhel4, using the current stable release of APC (3.0.10).   get the files here or by apt/yum.  Additional notes: 
Trying to enable APC for all sites on a server that has the sites running php though fastcgi (with a very low shm_size) resulted in odd [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added php-apc rpms for php 5.1.2 on rhel4, using the current stable release of APC (3.0.10).   <a href="http://www.justinsamuel.com/downloads/rpms/redhat/el4/en/i386/RPMS.js/">get the files here</a> or by apt/yum.  Additional notes: <span id="more-8"></span></p>
<p>Trying to enable APC for all sites on a server that has the sites running php though fastcgi (with a very low shm_size) resulted in odd behaviour on some sites.  An shm_size of 3 or 4MB on a site running drupal produced errors of apc_sma_free: could not locate address, but 2MB seemed to work fine.  Other sites handled the setting of 3 or 4MB just fine.  I didn&#8217;t test any further as all i really needed to verify for myself was that enabling APC for all sites wasn&#8217;t a good plan.  I&#8217;ll stick to turning it on in each sites&#8217;s php.ini for now for those that are very heavily trafficked.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2006/03/15/php-apc-rpms-added-for-php-512-apc-3010-rhel-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HOWTO: Create a self-signed (wildcard) SSL certificate</title>
		<link>http://www.justinsamuel.com/2006/03/11/howto-create-a-self-signed-wildcard-ssl-certificate/</link>
		<comments>http://www.justinsamuel.com/2006/03/11/howto-create-a-self-signed-wildcard-ssl-certificate/#comments</comments>
		<pubDate>Sun, 12 Mar 2006 06:35:44 +0000</pubDate>
		<dc:creator>justin</dc:creator>
				<category><![CDATA[HOWTOs]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.justinsamuel.com/howtos/2006/03/howto-create-a-self-signed-wildcard-ssl-certificate/6/</guid>
		<description><![CDATA[The following commands are all you need to create a self-signed (wildcard, if you want) SSL certificate:
mkdir /usr/share/ssl/certs/hostname.domain.com
cd /usr/share/ssl/certs/hostname.domain.com
(umask 077 &#038;&#038; touch host.key host.cert host.info host.pem)
openssl genrsa 2048 > host.key
openssl req -new -x509 -nodes -sha1 -days 3650 -key host.key > host.cert
...[enter *.domain.com for the Common Name]...
openssl x509 -noout -fingerprint -text < host.cert > host.info
cat host.cert [...]]]></description>
			<content:encoded><![CDATA[<p>The following commands are all you need to create a self-signed (wildcard, if you want) SSL certificate:<span id="more-6"></span></p>
<p><code>mkdir /usr/share/ssl/certs/hostname.domain.com<br />
cd /usr/share/ssl/certs/hostname.domain.com<br />
(umask 077 &#038;&#038; touch host.key host.cert host.info host.pem)<br />
openssl genrsa 2048 > host.key<br />
openssl req -new -x509 -nodes -sha1 -days 3650 -key host.key > host.cert<br />
...[enter *.domain.com for the Common Name]...<br />
openssl x509 -noout -fingerprint -text < host.cert > host.info<br />
cat host.cert host.key > host.pem<br />
chmod 400 host.key host.pem</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.justinsamuel.com/2006/03/11/howto-create-a-self-signed-wildcard-ssl-certificate/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
