Skip to content

CVE-2022-2663 defence-in-depth: Specify CTCP PING character limits #504

@dgl

Description

@dgl

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.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions