OpenSSL PCI scan false positive
In this article we'll discuss why a PCI scan could have possibly failed as a false positive, stating an outdated version of OpenSSL which is the service that handles SSL connections. If you have read our previous article on how to pass PCI compliance scans, the OpenSSL service being outdated is a common false positive that we see.
The reason for this is because we run cPanel on our servers, and cPanel utilizes backporting for their software updates instead of simply installing the latest version of the service each time it's updated. So to a PCI vendor it might seem that the version is outdated and subject to a known exploit, but in reality the service is secure because it has been patched against the exploit already.
If you failed a PCI scan and the reason stated was your server was running an old version of OpenSSL that is exploitable, you can follow these steps to report the issue as a false positive back to your PCI vendor.
- Login to your server via SSH
- Run the following command:
rpm -q openssl && rpm -q --changelog openssl | head -10
You should get back text similar to:
* Wed Aug 15 2012 Tomas Mraz <email@example.com> 1.0.0-25.1
- use PKCS#8 when writing private keys in FIPS mode as the old
PEM encryption mode is not FIPS compatible (#812348)
* Tue May 15 2012 Tomas Mraz <firstname.lastname@example.org> 1.0.0-25
- fix for CVE-2012-2333 - improper checking for record length in DTLS (#820686)
- properly initialize tkeylen in the CVE-2012-0884 fix
* Thu Apr 19 2012 Tomas Mraz <email@example.com> 1.0.0-24
- fix for CVE-2012-2110 - memory corruption in asn1_d2i_read_bio() (#814185)
You should notice the latest patch applied to OpenSSL was on Wed Aug 15 2012. So if your PCI scanning vendor has failed your website due to the OpenSSL version, provide them with this information so they can mark it as a false positive.
In this example we used head -10 to only show 10 lines from the full changelog, you can adjust that number to see updates going further back in time.
You should now understand how to retrieve the changelog of the OpenSSL service on your server, to show a PCI vendor that it should be reported as a false positive.