Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at
Bug 1410824 (CVE-2017-5194) - CVE-2017-5194 irssi: Use after free when receiving invalid nick message
Summary: CVE-2017-5194 irssi: Use after free when receiving invalid nick message
Alias: CVE-2017-5194
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
Depends On: 1410829 1410830
TreeView+ depends on / blocked
Reported: 2017-01-06 15:14 UTC by Andrej Nemec
Modified: 2021-02-17 02:48 UTC (History)
4 users (show)

Fixed In Version: irssi 0.8.21, irssi 1.0.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2017-02-23 17:19:45 UTC

Attachments (Terms of Use)

Description Andrej Nemec 2017-01-06 15:14:17 UTC
A use after free when receiving invalid nick message was found in irssi.

External References:

Upstream patch:

CVE assignment:

Comment 1 Andrej Nemec 2017-01-06 15:20:05 UTC
Created irssi tracking bugs for this issue:

Affects: fedora-all [bug 1410829]
Affects: epel-5 [bug 1410830]

Comment 2 Cedric Buissart 2017-02-23 16:35:47 UTC
-> The flaw could be triggered either by client itself, or by a specially crafted IRC server.

-> The particular part of the part referring to this issue is the following :
diff --git a/src/irc/core/irc-nicklist.c b/src/irc/core/irc-nicklist.c
index bcb9d1f..f049fe7 100644
--- a/src/irc/core/irc-nicklist.c
+++ b/src/irc/core/irc-nicklist.c
@@ -314,7 +314,11 @@ static void event_whois_ircop(SERVER_REC *server, const char *data)
 static void event_nick_invalid(IRC_SERVER_REC *server, const char *data)
        if (!server->connected)
-               server_disconnect((SERVER_REC *) server);
+               /* we used to call server_disconnect but that crashes
+                  irssi because of undefined memory access. instead,
+                  indicate that the connection should be dropped and
+                  let the irc method to the clean-up. */
+               server->connection_lost = server->no_reconnect = TRUE;
 static void event_nick_in_use(IRC_SERVER_REC *server, const char *data)

Comment 4 Cedric Buissart 2017-02-23 17:19:54 UTC

Red Hat Product Security has rated this issue as having Low security impact. This issue is not currently planned to be addressed in future updates. For additional information, refer to the Issue Severity Classification:

Note You need to log in before you can comment on or make changes to this bug.