ZNC lets you add invalid channel name via webadmin. #262

Open
opened 2026-10-05 04:08:26 +02:00 by adam · 0 comments
Owner

How I replicated it..

Log into ZNC via webpanel:

Add User

Username: TestingOne
Password: KindOne
Confirm Password: KindOne

IRC Information:

Nickname: TestingOne
Alt. Nickname TestingOne_
Ident: TestingOne
StatusPrefix: *
Realname: ...
BindHost:
DCCBindHost:
Quit Message: ...
Join Tries: 10

Scroll down .. Create.

{Edit} (TestingOne)

Networks -> [Add]

Network Name: freenode
Nickname: TestingOne
Alt. Nickname TestingOne_
Ident: TestingOne
Realname: ...
BindHost:
Active: [no check]
Servers of this IRC network: irc.freenode.net +7000
Flood protection: [check]
Flood protection rate: 1.0
Flood protection burst: 4

Scroll down .. Add Network

Networks -> {Edit} (freenode)

Channels -> {Add}

Channel Name: cake
Key:
Buffer Count: 50
Default Modes:

Flags:
[check] Save to config
[check] Auto Clear Chan Buffer
[no check] Detached
[no check] Disabled

Scroll down .. Add Channel

We added an invalid channel name called "cake", we can also add "!@#$%^" (with and without ""), "lol,wut", "#lol,cake", and maybe other crazy invalid channel names.

If you connect to ZNC via client and "/msg *status connect", you can watch in the server/status tab/window as ZNC try to join the invalid channel name "cake".

In my testing, if "TestingOne" is connected/has been connect, without ZNC being restarted then you can add "cake" and ZNC will auto-correct it into "#cake".

If "TestingOne" has never been connected while this instance of ZNC is running, then you can add all sorts of invalid channel names.

I suggest making ZNC follow RFC1459 1.3 and have it auto-correct "cake" into "#cake" and allow but not automatically add "&cake" since some IRCd's can support local channels. Adding invalid channel names might confuse new people to IRC.

Tested on:

Cygwin:
<_status> ZNC 1.1-git-162-8cf9389 - http://znc.in
<_status> IPv6: yes, SSL: yes, DNS: threads

Alpine Linux:
<_status> ZNC 1.1-git-165-8c6b4b8 - http://znc.in
<_status> IPv6: yes, SSL: yes, DNS: threads

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

How I replicated it.. Log into ZNC via webpanel: Add User Username: TestingOne Password: KindOne Confirm Password: KindOne IRC Information: Nickname: TestingOne Alt. Nickname TestingOne_ Ident: TestingOne StatusPrefix: * Realname: ... BindHost: DCCBindHost: Quit Message: ... Join Tries: 10 Scroll down .. Create. {Edit} (TestingOne) Networks -> [Add] Network Name: freenode Nickname: TestingOne Alt. Nickname TestingOne_ Ident: TestingOne Realname: ... BindHost: Active: [no check] Servers of this IRC network: irc.freenode.net +7000 Flood protection: [check] Flood protection rate: 1.0 Flood protection burst: 4 Scroll down .. Add Network Networks -> {Edit} (freenode) Channels -> {Add} Channel Name: cake Key: Buffer Count: 50 Default Modes: Flags: [check] Save to config [check] Auto Clear Chan Buffer [no check] Detached [no check] Disabled Scroll down .. Add Channel We added an invalid channel name called "cake", we can also add "!@#$%^" (with and without ""), "lol,wut", "#lol,cake", and maybe other crazy invalid channel names. If you connect to ZNC via client and "/msg *status connect", you can watch in the server/status tab/window as ZNC try to join the invalid channel name "cake". In my testing, if "TestingOne" is connected/has been connect, without ZNC being restarted then you can add "cake" and ZNC will auto-correct it into "#cake". If "TestingOne" has never been connected while this instance of ZNC is running, then you can add all sorts of invalid channel names. I suggest making ZNC follow RFC1459 1.3 and have it auto-correct "cake" into "#cake" and allow but not automatically add "&cake" since some IRCd's can support local channels. Adding invalid channel names might confuse new people to IRC. Tested on: Cygwin: <_status> ZNC 1.1-git-162-8cf9389 - http://znc.in <_status> IPv6: yes, SSL: yes, DNS: threads Alpine Linux: <_status> ZNC 1.1-git-165-8c6b4b8 - http://znc.in <_status> IPv6: yes, SSL: yes, DNS: threads ## <bountysource-plugin> Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/924543-znc-lets-you-add-invalid-channel-name-via-webadmin?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1759&utm_medium=issues&utm_source=github). </bountysource-plugin> <!-- github-sync-id:19657372 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/znc#262