Source: inspircd Version: 1.1.22+dfsg-4 Severity: important Tags: security I noticed that my inspircd would run at 100% CPU usage after being restarted. Well actually this only started after I logged out. A quick strace shows that inspircd calls poll in a loop and the result is always fd=0. lsof then shows that fd=0 is connected to the terminal I used to restart inspircd. When I logged out, it was closed and poll would always return that fd. The problem is worse though. This can be used to escalate privileges (from irc to root) when combined with an arbitrary code execution flaw (such as the one fixed in DSA-2448-1).
Interestingly this problem does not exist according to the documentation (include/inspircd.h): | /** Daemonize the ircd and close standard input/output streams | * @return True if the program daemonized succesfully | */ | bool DaemonSeed(); However looking at the definition (src/inspircd.cpp) clearly shows that the closing of the streams does not happen. Helmut -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

