PHP: Format string and XSS vulnerabilities — GLSA 200603-22

Multiple vulnerabilities in PHP allow remote attackers to inject arbitrary HTTP headers, perform cross site scripting or in some cases execute arbitrary code.

Affected packages

dev-lang/php on all architectures
Affected versions < 4.4.2
revision >= 5.1.1
revision >= 5.0.5
revision >= 5.0.4
Unaffected versions >= 5.1.2


PHP is a general-purpose scripting language widely used to develop web-based applications. It can run on a web server with the mod_php module or the CGI version and also stand-alone in a CLI.


Stefan Esser of the Hardened PHP project has reported a few vulnerabilities found in PHP:

  • Input passed to the session ID in the session extension isn't properly sanitised before being returned to the user via a "Set-Cookie" HTTP header, which can contain arbitrary injected data.
  • A format string error while processing error messages using the mysqli extension in version 5.1 and above.


By sending a specially crafted request, a remote attacker can exploit this vulnerability to inject arbitrary HTTP headers, which will be included in the response sent to the user. The format string vulnerability may be exploited to execute arbitrary code.


There is no known workaround at this time.


All PHP 5.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-lang/php-5.1.2"

All PHP 4.x users should upgrade to the latest version:

 # emerge --sync
 # emerge --ask --oneshot --verbose ">=dev-lang/php-4.4.2"


Release date
March 22, 2006

Latest revision
March 22, 2006: 01



Bugzilla entries