[SR-Users] siptrace segfault - attack?

Marian Piater marian.piater at voipsun.cz
Wed Nov 18 18:36:26 CET 2015


Hello,

we had segfault today. Kamailio has been running for few months without
problems.

Nov 18 10:51:20 sbc kernel: [11326028.926502] kamailio[14452]: segfault
at 30 ip 00007f20f7f3838a sp 00007ffef3ab7b10 error 4 in
siptrace.so[7f20f7f23000+27000]

GDB:
Reading symbols from kamailio...done.
[New LWP 14452]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/local/sbin/kamailio -f
/etc/kamailio/kamailio.cfg -P /var/run/kamailio/kam'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00007f20f7f3838a in sip_trace (msg=0x7f2100f96750, dst=0x0,
dir=0x0) at siptrace.c:1041
1041            sto.totag = get_to(msg)->tag_value;
(gdb) bt
#0  0x00007f20f7f3838a in sip_trace (msg=0x7f2100f96750, dst=0x0,
dir=0x0) at siptrace.c:1041
#1  0x0000000000457ca9 in do_action (h=0x7ffef3ab8320, a=0x7f2100b8a928,
msg=0x7f2100f96750) at action.c:1053
#2  0x0000000000463cb9 in run_actions (h=0x7ffef3ab8320,
a=0x7f2100b8a928, msg=0x7f2100f96750) at action.c:1548
#3  0x00000000004643bf in run_top_route (a=0x7f2100b8a928,
msg=0x7f2100f96750, c=0x0) at action.c:1634
#4  0x0000000000573ea7 in receive_msg (
    buf=0x9c9400 <buf> "OPTIONS sip:100 at XXX.XXX.XX.XX SIP/2.0\r\nv:
SIP/2.0/UDP
69.64.39.119:5060;branch=z9hG4bK-82135822;rport\r\nContent-Length:
0\r\nf:
\"MisterX\"<sip:100 at 1.1.1.1>;tag=61326665333131663133633401333733313630343335"...,
len=357, rcv_info=0x7ffef3ab85b0) at receive.c:196
#5  0x0000000000493ff5 in udp_rcv_loop () at udp_server.c:495
#6  0x000000000051fdd7 in main_loop () at main.c:1573
#7  0x0000000000525b6b in main (argc=13, argv=0x7ffef3ab8998) at main.c:2533
(gdb) quit

Our IP is hidden, but there is 69.64.39.119, which is foreign address
and I think, it was attack. Unfortunatelly I don't have SIP packet
details, but you can see 1.1.1.1 or strange tag or content-length=0 in
received message.

I looked into siptrace.c and there is function sip_trace_prepare where
is get_from(msg) checked, but no get_to(msg). This function is run from
main sip_trace function. So I think, we need also check get_to(msg)
function.

I just disabled siptrace module, but we need it.

Thank you.
Marian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20151118/5c9177cd/attachment.html>


More information about the sr-users mailing list