[OpenSIPS-Users] OpenSIPS Crash

Liviu Chircu liviu at opensips.org
Fri Jun 8 12:28:16 EDT 2018


That we already know, dear sir! But before simply fixing this issue and 
moving on, my question is: How many more OpenSIPS functions (sip_trace() 
included) are still subject to such a basic vulnerability?

(probably this will turn into a GitHub ticket that will be assigned to 
me. Oh well, at least it's for the better good of the community)

Cheers,

Liviu Chircu
OpenSIPS Developer
http://www.opensips-solutions.com

On 08.06.2018 18:58, Schneur Rosenberg wrote:
> A malformed sip packet should not crash OpenSIPS it should just give
> an error and move on
>
> On Fri, Jun 8, 2018 at 3:00 PM, Ben Newlin <Ben.Newlin at genesys.com> wrote:
>> Liviu,
>>
>>
>>
>> I am very impressed! I was indeed sending a malformed invite just like the
>> one you posted, specifically with the missing line termination before the
>> Call-ID.
>>
>>
>>
>> Thanks,
>>
>> Ben Newlin
>>
>>
>>
>>
>>
>> From: Users <users-bounces at lists.opensips.org> on behalf of Liviu Chircu
>> <liviu at opensips.org>
>> Reply-To: OpenSIPS users mailling list <users at lists.opensips.org>
>> Date: Friday, June 8, 2018 at 5:17 AM
>> To: "users at lists.opensips.org" <users at lists.opensips.org>
>> Subject: Re: [OpenSIPS-Users] OpenSIPS Crash
>>
>>
>>
>> Hi Ben,
>>
>> Excellent report! I managed to reproduce the crash on first try:
>>
>> Core was generated by `./opensips -m64 -M16 -f
>> cfg/opensips-2.4-sipp-siptrace.cfg -w .'.
>> Program terminated with signal SIGSEGV, Segmentation fault.
>> #0  0x00007f7987cd7f2a in sip_trace (msg=0x7f799817fd20,
>> info=0x7f799468d5e0) at siptrace.c:1646
>> 1646        db_vals[1].val.str_val.s = msg->callid->body.s;
>> (gdb) bt
>> #0  0x00007f7987cd7f2a in sip_trace (msg=0x7f799817fd20,
>> info=0x7f799468d5e0) at siptrace.c:1646
>> #1  0x00007f7987cd7c8d in sip_trace_w (msg=0x7f799817fd20,
>> param1=0x7f7998169110 "\001", param2=0x2 <error: Cannot access memory at
>> address 0x2>, param3=0x7f79981691f8 "\001", param4=0x0) at siptrace.c:1590
>> #2  0x0000000000445082 in do_action (a=0x7f79981589a0, msg=0x7f799817fd20)
>> at action.c:1864
>> #3  0x000000000043ccf7 in run_action_list (a=0x7f79981589a0,
>> msg=0x7f799817fd20) at action.c:172
>>
>> Quick question for you: you are sending a malformed INVITE, correct? Here is
>> how mine looked like:
>>
>> INVITE sip:sipp at 127.0.0.1:5060 SIP/2.0.
>> Via: SIP/2.0/UDP 127.0.0.1:7000;branch=z9hG4bK-1988-1-0.
>> From: sipp <sip:sipp at 127.0.0.1:7000>;tag=123456789.
>> To: sut <sip:sipp at 127.0.0.1:5060>.
>> CSeq: 1 INVITE.
>> Contact: <sip:sipp at 127.0.0.1:7000>   Call-ID: 1-1988 at 127.0.0.1.
>> Max-Forwards: 70.
>> Subject: Performance Test.
>> Content-Type: application/sdp.
>> Content-Length:   129.
>> .
>> v=0.
>> o=user1 53655765 2353687637 IN IP4 127.0.0.1.
>> s=-.
>> c=IN IP4 127.0.0.1.
>> t=0 0.
>> m=audio 6001 RTP/AVP 0.
>> a=rtpmap:0 PCMU/8000.
>>
>> Notice how OpenSIPS will be unable to parse the Call-ID header field, hence
>> the immediate crash in sip_trace(), as it's unable to handle a NULL Call-ID.
>>
>> Best regards,
>>
>> Liviu Chircu
>>
>> OpenSIPS Developer
>>
>> http://www.opensips-solutions.com
>>
>> On 07.06.2018 22:24, Ben Newlin wrote:
>>
>> Hi,
>>
>>
>>
>> While running a new test scenario I encountered an OpenSIPS crash.
>>
>>
>>
>> version: opensips 2.3.3 (x86_64/linux)
>>
>> flags: STATS: On, DISABLE_NAGLE, USE_MCAST, SHM_MMAP, PKG_MALLOC, F_MALLOC,
>> FAST_LOCK-ADAPTIVE_WAIT
>>
>> ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
>> MAX_URI_SIZE 1024, BUF_SIZE 65535
>>
>> poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
>>
>> git revision: a0bed9d
>>
>> main.c compiled on 21:08:28 May 16 2018 with gcc 4.8.5
>>
>>
>>
>> Logs: https://pastebin.com/3vL3rbG4
>>
>> BT: https://pastebin.com/tTp32ASC
>>
>>
>>
>> Let me know if anything else is needed.
>>
>>
>>
>> Thanks,
>>
>> Ben Newlin
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>> Users mailing list
>>
>> Users at lists.opensips.org
>>
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users




More information about the Users mailing list