View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0003205 | unreal | ircd | public | 2007-01-17 22:04 | 2007-01-22 07:13 |
| Reporter | myster0 | Assigned To | |||
| Priority | normal | Severity | crash | Reproducibility | always |
| Status | closed | Resolution | no change required | ||
| Product Version | 3.2.6 | ||||
| Summary | 0003205: Crash in PROTOCTL CLK | ||||
| Description | When an ulined server with PROTOCTL CLK send a parameter different from * for the cloaked host Unreal crash instead of disconnecting it with an error. | ||||
| Steps To Reproduce | The service send this : PROTOCTL NICKv2 UMODE2 VL SJ3 NS TKLEXT CLK PASS hidden SERVER link.test.org 1 :U2309-Fh6XiOoE-51 Nymphes Services Link v1.0.0.0 TKL + Q * Polymnie 51 0 0 :Reserved for services TKL + Q * *`? 51 0 0 :Reserved for Linker NICK Polymnie 0 0 Polymnie Link.Test.Org link.test.org 1169092491 +oSqB * Link.Test.Org :Link - Nymphes Services Unreal crashes after this according to debug.log | ||||
| Additional Information | output of gdb : #0 0xa7f9f410 in ?? () #1 0xafd2f74c in ?? () #2 0x00000006 in ?? () #3 0x00000af2 in ?? () #4 0xa7cb5811 in raise () from /lib/tls/i686/cmov/libc.so.6 #5 0xa7cb6fb9 in abort () from /lib/tls/i686/cmov/libc.so.6 #6 0x0808ec5f in decode_ip (buf=0x8196036 "Link.UltimeVision.Org") at support.c:1943 #7 0xa7c66d8c in _register_user (cptr=0x8195ef8, sptr=0x81963b8, nick=0x81963e1 "Polymnie", username=0x8195fee "Polymnie", umode=0x819602e "+oSqB", virthost=0x8196034 "*", ip=0x8196036 "Link.UltimeVision.Org") at m_nick.c:1164 0000008 0xa7c69a23 in m_user (cptr=0x8195ef8, sptr=0x81963b8, parc=9, parv=0x8124e6c) at m_user.c:214 #9 0xa7c683cd in m_nick (cptr=0x8195ef8, sptr=0x81963b8, parc=12, parv=0x8124e60) at m_nick.c:777 #10 0x08068f87 in parse (cptr=0x8195ef8, buffer=0x8195fdc "NICK", bufend=0x8196068 "") at parse.c:450 #11 0x08068260 in dopacket (cptr=0x8195ef8, buffer=0x80b8000 "TKL + Q * Polymnie 51 0 0 :Reserved for services\nTKL + Q * *`? 51 0 0 :Reserved for Linker\nNICK Polymnie 0 0 Polymnie Link.UltimeVision.Org link.ultimevision.org 1169092491 +oSqB * Link.UltimeVision.O"..., length=dwarf2_read_address: Corrupted DWARF expression. ) at packet.c:138 #12 0x08058bd7 in read_message (delay=1, listp=0x8157a80) at s_bsd.c:1475 #13 0x080634f0 in main (argc=0, argv=0x0) at ircd.c:1596 | ||||
| 3rd party modules | none | ||||
|
|
Don't do that then... serverprotocol.html says: Note: Because each server normally does its own cloak generation, Unreal does not expect to receive NICK messages with the CLK info, so do not send it. It will send this info to a server it has received a PROTOCTL CLK from however. |
|
|
NOTHING that you send a server should be able to make it crash, so this definetly is a bug, and a fairly serious one by the looks of it |
|
|
Our current position is that, once a server is linked, a server is "trusted". This means we fully trust what it does, this ranges from access rights checking to syntax checking. In short: it's easy to cause another server to crash if you don't know what you are doing. This is why you shouldn't be toying with things on a livenet :P. This is also why services discourage the use of RAW (and have huge disclaimers). While I've considered rethinking this position, my conclusion - certainly for now with scarce resources - is that we should dedicate developer resources on other things, and stick with our current position. I'll see if I can add a FAQ item for this. I don't know if serverprotocol.html also warns of this, if not then it should. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2007-01-17 22:04 | myster0 | New Issue | |
| 2007-01-17 22:04 | myster0 | 3rd party modules | => none |
| 2007-01-21 04:56 | Dukat | Note Added: 0013072 | |
| 2007-01-21 08:07 | djGrrr | Note Added: 0013074 | |
| 2007-01-22 07:13 | syzop | Status | new => closed |
| 2007-01-22 07:13 | syzop | Note Added: 0013087 | |
| 2007-01-22 07:13 | syzop | Resolution | open => no change required |