Vulnerable Systems:
* IBM Corp.'s Informix Dynamic Server version 10.00 UC6TL installed on a Linux system.
(Other versions are also suspected as vulnerable, versions for other supported Unix systems should also be considered vulnerable).

This vulnerability exists due to insufficient checking for directory traversal sequences when processing the DBLANG environment variable. By using values containing directory traversal specifiers, such as "../", an attacker can cause set-uid binaries to use Native Language Support (NLS) message files under their control.

Exploitation allows local attackers to gain root privileges. In order to exploit this vulnerability, an attacker would need access to execute one of the set-uid root binaries that utilizes the DBLANG environment variable.

Since an attacker can control NLS message file data, they are able to pass arbitrary format string arguments to the variable argument function printf(3). Consequently, this vulnerability can be exploited using publicly known format string exploitation techniques.

When attempting to exploit this vulnerability, it is likely that an attacker would try to execute code within area of memory that are considered data. As such, NX, XD, exec-shield, PAX and other data execution prevention technologies can decrease the likelihood of success.

Workaround:
Removing the set-uid bit from all programs included with Informix will prevent exploitation. However, doing so may also disable functionality.