Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 78712

Summary: net-irc/konversation Multiple vulnerabilities
Product: Gentoo Security Reporter: Sune Kloppenborg Jeppesen (RETIRED) <jaervosz>
Component: VulnerabilitiesAssignee: Gentoo Security <security>
Status: RESOLVED FIXED    
Severity: normal CC: net-irc
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
URL: http://lists.netsys.com/pipermail/full-disclosure/2005-January/031033.html
Whiteboard: B2 [glsa] jaervosz
Package list:
Runtime testing required: ---

Description Sune Kloppenborg Jeppesen (RETIRED) gentoo-dev 2005-01-19 11:38:06 UTC
On 18 and 19 Jan 2005 I (Wouter Coekaerts) discovered 3 security
vulnerabilities in Konversation ("A user-friendly IRC-client for KDE", 
http://konversation.berlios.de/).

Affected are version 0.15, CVS until 18-19/01/2005, and some older versions
too. They are fixed in 0.15.1.

Problem 1. Quick Buttons
========================
The Server::parseWildcards function is buggy: to expand % variables, it does
a series of QString.replace's, so the value for one variable can contain
another variable, which will then be expanded too. This function is used for
the "Quick Buttons" under the nicklist (which is disabled by default)

The only way I found to exploit this from another client, would be to let a
user join a channel with such vars in its name, and then let the user press
the Part Button. But since channel names cannot have spaces, only very 
simple things can be done.
For example: in #%n/quit%n, he will disconnect.
An 'evil' server might be able to do this for other Quick Buttons too.

Problem 2. Included Perl scripts vulnerable to shell command injection
======================================================================
Perl scripts included with Konversation execute a command line similar to:
exec ("dcop $PORT Konversation say $SERVER \"$TARGET\" output");
shell characters in $SERVER or $TARGET aren't escaped.

Joining #`kwrite` and executing a script (for example typing /uptime) will
start kwrite. A song with a strange name may also cause command execution
with the media script.

Problem 3. Nick and password confused in quick connect dialog
=============================================================
I'll leave the question of wether or not this actually is a security bug 
open, but at least I can imagine someone could see it as one.
Nick and password are confused in the quick connection dialog, so connecting
with that dialog and filling in a password, would use that password as nick.
If connecting works, you'll show everyone your password that was probably
a password for something else (since you could connecting with your nick as
password instead). If connecting fails because the server did require a
password, it may show an oper watching server notices your password and/or
put it in a logfile.

Solution
========
These problems are fixed in version 0.15.1, which was released 19/01/05
Comment 1 Sune Kloppenborg Jeppesen (RETIRED) gentoo-dev 2005-01-19 11:39:32 UTC
net-irc please bump to 0.15.1
Comment 2 Sven Wegener gentoo-dev 2005-01-19 14:45:35 UTC
net-irc/konversation-0.15.1 in CVS. Not yet stable on x86, need some time to merge parts of KDE for stable marking. :( ETA: 1 hour
Comment 3 Sven Wegener gentoo-dev 2005-01-19 15:41:58 UTC
Stable on x86.
Comment 4 Carsten Lohrke (RETIRED) gentoo-dev 2005-01-20 07:37:07 UTC
Why are sparc and amd64 not cc'ed?
Comment 5 Sune Kloppenborg Jeppesen (RETIRED) gentoo-dev 2005-01-20 07:43:49 UTC
Because the are already properly keyworded:

konversation-0.10.ebuild:KEYWORDS="x86 ppc"
konversation-0.13.ebuild:KEYWORDS="x86 ppc ~amd64"
konversation-0.14.ebuild:KEYWORDS="~x86 ~ppc ~amd64"
konversation-0.15.ebuild:KEYWORDS="~x86 ~ppc ~amd64 ~sparc"
konversation-0.15.1.ebuild:KEYWORDS="x86 ~ppc ~amd64 ~sparc"
Comment 6 Carsten Lohrke (RETIRED) gentoo-dev 2005-01-20 11:29:02 UTC
Sune: Sorry, blind /me.
Comment 7 Sune Kloppenborg Jeppesen (RETIRED) gentoo-dev 2005-01-21 01:59:20 UTC
CANs assigned:

CAN-2005-0129 : Quick button
CAN-2005-0130 : Perl script execution
CAN-2005-0131 : Quick connect issue
Comment 8 Lars Weiler (RETIRED) gentoo-dev 2005-01-21 11:02:46 UTC
ppc stable.
Comment 9 Luke Macken (RETIRED) gentoo-dev 2005-01-24 06:41:04 UTC
GLSA 200501-34