Dan Rosenberg reported a vulnerability in pulseaudio's handling of temporary directories, which can be used by an attacker to create a Denial of Service condition or possibly disclose sensitive information to unprivileged users. When pulseaudio starts, it creates a temporary directory with a predictable name (/tmp/.esd-[uid], where [uid] is the user id of the user executing the pulseaudio process). If the directory already exists, pulseaudio does not create a new one; it also does not check for symbolic links. After the directory is created, or if it already exists, pulseaudio will chown the directory to the uid/gid of the user running pulseaudio, and then chmods it to either 0700 or 0755 (the latter if it is running in 'system mode'). Depending on whether an attacker can create an appropriate symbolic link, this could result in linked files being given inappropriate permissions depending on the user executing pulseaudio, and whether it is in 'system mode' or not, which could possibly lead to information disclosure or a DoS if files/executables requiring one set of permissions are given another set that a particular program may refuse to run with (for example, .fetchmailrc or ssh configuration files). The upstream commit fixing this issue is available here: http://git.0pointer.de/?p=pulseaudio.git;a=patch;h=d3efa43d85ac132c6a5a416a2b6f2115f5d577ee
Embargo lifted as the Ubuntu bug is now public: https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/509008