Exuberant-ctags is a revision of the 'ctags' sourcecode mapping/navigation utility. Versions of exuberant-ctags shipping with Debian Linux 2.2 make insecure use of temporary files, resulting in a possible race condition rendering the application open to symbolic link attacks. The problem lies in how the temporary files are created. After obtaining a temporary filename, exuberant-ctags fails to check if the file already exists. Additionally, the files are created world-readable, which could lead to the disclosure of sensitive or confidential data to a local user while ctags is running. If an attacker can determine the name of the temporary file prior to its creation, a symbolic link could be created pointing to a target file for which the ctags process owner has write permissions. In this event, ctags will overwrite the contents of the target file with its own output.
Exuberant-ctags is a revision of the 'ctags' sourcecode mapping/navigation utility. Versions of exuberant-ctags shipping with Debian Linux 2.2 make insecure use of temporary files, resulting in a possible race condition rendering the application open to symbolic link attacks. The problem lies in how the temporary files are created. After obtaining a temporary filename, exuberant-ctags fails to check if the file already exists. Additionally, the files are created world-readable, which could lead to the disclosure of sensitive or confidential data to a local user while ctags is running. If an attacker can determine the name of the temporary file prior to its creation, a symbolic link could be created pointing to a target file for which the ctags process owner has write permissions. In this event, ctags will overwrite the contents of the target file with its own output.