Sustworks Unauthorized Network Monitoring and tcpflow Format String Attack
10 Aug. 2003
Summary
IPNetSentryX and IPNetMonitorX are network tools that provide Firewalling and general network monitoring respectively. Both of these tools come with three helper tools that each has security issues associated with them. The first two tools: RunTCPDump and RunTCPFlow allow arbitrary users to monitor the network without requiring any form of authentication or privilege. The third tool, tcpflow (executed by RunTCPFlow), contains a format string vulnerability, allowing arbitrary commands to be run as the user calling the program. Since RunTCPFlow is setuid root and will pass arguments to tcpflow, we can execute arbitrary commands as root.
RunTCPDump and RunTCPFlow are setuid root helper applications that simply execute /usr/sbin/tcpdump and /usr/local/bin/tcpflow. These helper applications pass all arguments to the commands they are executing, allowing users to execute tcpdump and tcpflow however, they choose. Unfortunately, any user with interactive access to a Mac OS X system with IPNetSentryX or IPNetMonitorX can run these commands. This allows any user on the system to be able to view all network traffic that pass through the vulnerable system.
Additionally, tcpflow is vulnerable to a format string vulnerability, which normally would not be a serious security vulnerability. However, since any user on a system that has IPNetSentryX or IPNetMonitorX and tcpflow installed can cause tcpflow to be executed as root via RunTCPFlow, an attacker can use this vulnerability to become root. A corresponding @stake advisory (a080703-2) has been released on the tcpflow format string attack.
Vendor Response:
These vulnerabilities are mitigated in the latest version of IPNetSentryX and IPNetMonitorX available from http://www.sustworks.com. Mitigation strategies include stronger input validation and access control to RunTCPDump and RunTCPFlow.
Recommendation:
Upgrade to the latest version of IPNetSentryX and tcpflow.