The open-source PHP language is one of the most widely deployed technologies on the Web today, powering millions of Websites (including eWEEK). This past week, two important updates were issued for PHP, providing both security and bug fixes. Like many things in the open-source world (and technology in general), there isn’t just one version of PHP that is currently in use—in fact, there are now at least three main stable releases, including PHP 5.5, 5.4 and 5.3. The new security updates are for the 5.5 and 5.4 branches.
PHP 5.4.18 fixes 30 bugs, including two that are specifically identified as security vulnerabilities. One of the security flaws is CVE-2013-4113, which is a memory heap corruption issue in PHP’s XML parser. In a heap corruption flaw, there is the potential for an attacker to abuse memory in order to get unauthorized code to run.
The CVE-2013-4113 flaw was actually first reported in early July and fixed in PHP 5.5.1 and PHP 5.3.27. The National Institute of Standards and Technology’s (NIST’s) National Vulnerability Database rates the flaw as only having a medium base CVSS score of 6.8 out of 10. CVSS—the Common Vulnerability Scoring System—provides a baseline for vulnerability impact and analysis.
From my own perspective, I don’t quite understand why PHP doesn’t update all of its versions for security vulnerabilities on the same date. Sure, I know there are other components involved in a build, but I have little doubt that attackers see a fix in one version and then try to exploit the same flaw in another. The fact that PHP 5.5 and 5.3 got their respective fixes for this XML parser issue almost a month before PHP 5.4 is a cause for concern.
OpenSSL
Both PHP 5.4.18 and PHP 5.5.2 are receiving a security update for an OpenSSL flaw identified as CVE-2013-4248. The OpenSSL module in PHP enables encrypted Secure Sockets Layer (SSL) transport over the Web. The CVE-2013-4248 flaw could potentially enable a man-in-the-middle (MITM) attack against SSL. In an MITM attack, the attacker sits in the middle of the transport chain, intercepting and then impersonating the legitimate traffic.
Strict Sessions
PHP 5.5.2 is now also set to benefit from a new capability that will limit the risk of a security weakness known as “Session Fixation.” Session Fixation is defined by the Common Weakness Enumeration database as” authenticating a user, or otherwise establishing a new user session, without invalidating any existing session identifier which gives an attacker the opportunity to steal authenticated sessions.”
The implementation of something known as “Strict Sessions” in PHP 5.5.2 is an attempt to limit the risk of Session Fixation attacks. The proposal to include Strict Sessions in PHP was first made in 2011, so this is an effort that is years in the making.
PHP 5.5 itself was first released in June of this year and isn’t yet widely deployed. It’ll be interesting to see if the Strict Sessions capability is backported to PHP 5.4 and 5.3 in the coming weeks.
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.