The critical Shellshock vulnerabilities found last month in the Bash Unix shell have motivated security researchers to search for similar flaws in old, but widely used, command-line utilities.
Two remote command execution vulnerabilities were patched this week in the popular wget download agent and tnftp client for Unix-like systems. This comes after a remote code execution vulnerability was found last week in a library used by strings, objdump, readelf and other command-line tools.
GNU Wget is the go-to utility for downloading Web-based files and resources on a Linux system using the command-line interface. In addition to being used manually, wget is commonly called by custom scripts and scheduled tasks—cron jobs on Linux.
“Wget versions prior to 1.16 are vulnerable to a symlink attack (CVE-2014-4877) when running in recursive mode with a FTP target,” said HD Moore, the chief research officer at Rapid7 who found the vulnerability, in a blog post Tuesday.
“This vulnerability allows an attacker operating a malicious FTP server to create arbitrary files, directories, and symlinks on the user’s filesystem,” Moore explained. “The symlink attack allows file contents to be overwritten, including binary files, and access to the entire filesystem with the permissions of the user running wget.”
Ultimately, the vulnerability can lead to remote code execution.
Users should either upgrade to wget 1.16 or make sure their Linux distribution ships a wget package that has the CVE-2014-4877 patch applied. The flaw can also be mitigated by manually adding the line “retr-symlinks=on” in the /etc/wgetrc or ~/.wgetrc settings files, Moore said.
Tnftp is a cross-platform port of the original BSD FTP client. It is the default FTP client in NetBSD, FreeBSD, DragonFly BSD and Mac OS X, but it is also available in many Linux distributions.
A vulnerability patched this week in tnftp allows a malicious server to execute arbitrary commands on the user’s system. The issue is being tracked as CVE-2014-8517.
“If you do ‘ftp http://server/path/file.txt’; and don’t specify an output filename with -o, the ftp program can be tricked into executing arbitrary commands,” said NetBSD’s security officer Alistair Crooks in a message to the Open Source Security mailing list Tuesday. Crooks’ email also included a patch created by the NetBSD developers.
The tnftp package shipped with OpenBSD is not vulnerable due to some changes made to the code some time ago, according to a reply by OpenBSD developer Stuart Henderson.
Debian, Red Hat, Gentoo and Novell have posted security advisories about the tnftp issue.
Crooks said that he also informed Apple about the flaw, which is present in OS X 10.10 (Yosemite), but only received “a boilerplate reply” from the company.
The flaws found this year in OpenSSL, Bash, strings and now wget and tnftp indicate a trend of new bugs being found in old code, said Rob VandenBrink, an incident handler at the SANS Internet Storm Centert, in a blog post Thursday. “Coders who wrote stuff in C back in the day didn’t always write code that knew how much was too much of a good thing. Now that we’re all looking at problems with bounds checking on input data, expect to see at least a couple more of these!”
The danger is that these flaws are found in utilities that a lot of people use every day. As VandenBrink puts it they “are part of our standard, trusted toolkit.”