-
Notifications
You must be signed in to change notification settings - Fork 81
Description
I've just released https://dgl.cx/2022/08/nat-again-irc-cve-2022-2663 which affects the Linux kernel. As that document describes there are several mitigations and the best of all is using TLS for IRC, which many IRCv3 standards already encourage 👍 .
I have put a recommendation for client authors that they should consider dropping "^A" within PING responses. I'm opening this issue to potentially consider writing that into a standard; although the primary way to address this is fixing the kernel it is possible there could be future "reflection" style attacks. I don't see any downside to limiting PING's payload to non-control characters as a defence-in-depth measure.
There is also a further attack that I have not explored but may be of interest to some client authors, as I don't believe it is standardised in any way, that is the behaviour of CTCP PING within established DCC CHAT sessions. If a user is tricked into establishing a DCC CHAT with a peer on port 6667, then the NAT helper may treat it like an IRC connection and it may be possible to attack them via that, even if they are using encrypted IRC. I am less concerned by that as it needs user interaction to establish the chat session.
(I don't believe IRCv3 has really considered DCC, one interesting point is many clients implement DCC, but don't necessarily implement encryption for it, so it might be interesting to consider specifying a warning when establishing a plaintext DCC session if the connection to the IRC server itself is encrypted.)