A denial of service bug was discovered in BitchX - a nasty user can invite you to a channel with a %s in it, causing the client to coredump. This is a classic case of printf(variable) where variable contains formatting chars. Patch available here.
d314b02f3283b0b921e3c16a0e5bd4fc35f5d697e913f7b6012543988df5805c
There's a small bug in the latest BitchX in which a nasty user can invite
you to a channel with a %s in it, causing the client to coredump. As alot
of channels/users on irc use the client, I felt I should post a notice
about this problem. A small patch is available on
www.bitchx.com/downloads.html as well as on
ftp.bitchx.com/pub/BitchX/1.0c16.patch
This is a classic case of printf(variable); where variable contains
formatting chars. I doubt very much this would lead to a root exploit,
anyone running any irc client as root, should be examined professionally.
I wish to thank the person who discovered this and reported it to #bitchx
on efnet, as well as the many emails I received on this subject. We had a
patch available for this before it widely known..
Colten Edwards
panasync@efnet
From robohak:
I've seen a lot of incorrect patches and information floating around, so I decided I should write up something to keep people cor
rectly informed.
The play by play:
The bug was reported to me by eTs@efnet around 3am PDT on July 3rd. As soon as I he told me about channels with %s, %n, etc. cra
shing the client on an invite, I knew it was a format problem similar to the old ban bug BitchX had, or the recent wu-ftpd bug.
I fixed the invite code and found that the kill code had the same problem. I tested the patch and sent it to eTs, and then start
ed offering it through cdcc/xdcc. I also made a 75p3 patch since the 1.0c16 patch wouldn't apply cleanly to it. The bug seems t
o have appeared during the 75 alpha versions, so all 75 and 1.0 versions through 1.0c16 have the bug. Since I also work on EPIC,
I checked to make sure this was a BitchX specific problem, and it was.
About an hour after I made the patch available, one of the #BitchX@efnet ops (who will remain nameless) tried the bug on #BitchX.
At that point the bug became publicly known. The news of the bug seemed to spread quickly around efnet, as I started getting r
equests for the patch from many other channels.
After some code auditing I found some other format bugs that only effected local commands. I had other things I had to do, and s
ince the bugs were only locally exploitable, I waited a few hours until panasync (Colten Edwards) showed up on irc. The local bu
gs were not as simple to fix, so we discused the best way to go about fixing them. Once we had all the bugs we could find fixed,
panasync commited them to our CVS repository.
Summary:
The bug effects all versions of BitchX from 75 through 1.0c16, and does not effect EPIC or any other clients I know of. The invi
te parsing is the easiest to exploit, but the bug also exists in the kill parsing. The patch existed before the bug was publicly
known. There were also locally exploitable format bugs, but they have been fixed now. The next version of BitchX will include
all of these fixes, and they have been applied to the CVS repository.
Hopefully this clears up any confusion or misinformation about these bugs. If there are any other questions, feel free to ask me
via email or on irc (RoboHak@efnet).
--
RoboHak RoboHak@protovision.org | RoboHak@mediaone.net