Gallery: Arbitrary command execution
Gentoo Linux Security Advisory
||GLSA 200409-05 / Gallery
||September 02, 2004
||May 22, 2006: 02
All supported architectures
The Gallery image upload code contains a temporary file handling
vulnerability which could lead to execution of arbitrary commands.
Gallery is a PHP script for maintaining online photo albums.
The upload handling code in Gallery places uploaded files in a
temporary directory. After 30 seconds, these files are deleted if they
are not valid images. However, since the file exists for 30 seconds, a
carefully crafted script could be initiated by the remote attacker
during this 30 second timeout. Note that the temporary directory has to
be located inside the webroot and an attacker needs to have upload
rights either as an authenticated user or via "EVERYBODY".
An attacker could run arbitrary code as the user running PHP.
There are several workarounds to this vulnerability:
- Make sure that your temporary directory is not contained in the
webroot; by default it is located outside the webroot.
- Disable upload rights to all albums for "EVERYBODY"; upload is
disabled by default.
- Disable debug and dev mode; these settings are disabled by
- Disable allow_url_fopen in php.ini.
All Gallery users should upgrade to the latest version:
Code Listing 3.1: Resolution
# emerge sync
# emerge -pv ">=www-apps/gallery-1.4.4_p2"
# emerge ">=www-apps/gallery-1.4.4_p2"