Gallery: Arbitrary command execution — GLSA 200409-05 The Gallery image upload code contains a temporary file handling vulnerability which could lead to execution of arbitrary commands. Affected packages Package www-apps/gallery on all architectures Affected versions < 1.4.4_p2 Unaffected versions >= 1.4.4_p2 Background Gallery is a PHP script for maintaining online photo albums. Description 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". Impact An attacker could run arbitrary code as the user running PHP. Workaround 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 default. Disable allow_url_fopen in php.ini. Resolution All Gallery users should upgrade to the latest version: # emerge sync # emerge -pv ">=www-apps/gallery-1.4.4_p2" # emerge ">=www-apps/gallery-1.4.4_p2" References Full Disclosure Announcement Gallery Announcement CVE-2004-1466