#188: Malformed/fuzzed sip invite msgs will crash client
-----------------------------+----------------------------------------------
Reporter: carlitoburgante | Owner: vadim
Type: defect | Status: new
Priority: major | Milestone: QuteCom 2.2-RC2
Component: 3rd party libs | Version: 2.2-RC3
Keywords: security crash |
-----------------------------+----------------------------------------------
(Build QuteCom 2.2 rev49cd2a2682c9-20081218143907 used)
When sending fuzzed/malformed sip invite messages to the Qutecom client,
several crashes will occur in the following areas:
* phapi.dll:10013924 cmp dl,[ecx] from thread 5840 caused access violation
* phapi.dll:10013917 mov eax,[edx+0x4] from thread 2412 caused access
violation
Below shows the crash areas and test case numbers associated with the
crash
python sulley/s_utils/crashbin_explorer.py sessions/Qutecom.crashbin
[8] phapi.dll:10013924 cmp dl,[ecx] from thread 5840 caused access
violation
24726, 25529, 25538, 25539, 25540, 25643, 25699, 25701,
[28] phapi.dll:10013917 mov eax,[edx+0x4] from thread 2412 caused access
violation
46, 4449, 4450, 4451, 4493, 4494, 4495, 4537, 4538, 4539, 4581,
4582, 4583, 5337, 5338, 5339, 8985, 8986, 8987, 9741, 9742, 9743, 21084,
21085, 21086, 24730, 24731,
Below are the debug process captures/stack unwinds of test scenarios
(24726, 25529, 25538) and (46, 4449, 4450) in which should help pinpoint
area to resolve.
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 24726
phapi.dll:10013924 cmp dl,[ecx] from thread 5840 caused access violation
when attempting to read from 0x00000000
CONTEXT DUMP
EIP: 10013924 cmp dl,[ecx]
EAX: 02cd1ba8 ( 46996392) -> 192.168.3.104 (heap)
EBX: 01e384e8 ( 31687912) -> D2)Xxx-C (heap)
ECX: 00000000 ( 0) -> N/A
EDX: 02cd1e31 ( 46997041) ->
!081337expires192.168.3.104en5060192.168.3.104 R
p&0$max-forwardsa: #7 (heap)
EDI: 00000000 ( 0) -> N/A
ESI: 02cdae98 ( 47034008) -> Xh0act?`PKmethod]S&sipQ$c"
sip.`,5060*subject(rp
ort6UDP4 (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> h?a S8 $'t^p+()`|&)`+()(|&)(|&)Hp #'p$'p
$'4%x2)
D84%8)x (stack)
+00: 02cc9d00 ( 46963968) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 02cd1b68 ( 46996328) ->
S4cbranch192.168.3.101192.168.3.104e192.168.3.1
04methodUDPX FDsomefromtagvalC!A8O70HMP (heap)
+08: 1002613f ( 268591423) -> N/A
+0c: 02ce5320 ( 47076128) -> 0P h...@!fsdp0tdpassword (heap)
+10: 010ffd38 ( 17825080) ->
k\80gu[ugk\z],h)g...@kg7#a^9cd2a2682c9\u[p^[i^ut
eComx-|\...@^]8` (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
0x10013932 jnz 0x10013942
0x10013934 add eax,0x2
0x10013937 add ecx,0x2
0x1001393a test dl,dl
0x1001393c jnz 0x10013922
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 25529
phapi.dll:10013924 cmp dl,[ecx] from thread 444 caused access violation
when attempting to read from 0x00000000
CONTEXT DUMP
EIP: 10013924 cmp dl,[ecx]
EAX: 099710b0 ( 160895152) -> 192.168.3.104 (heap)
EBX: 01e384e8 ( 31687912) -> 2)Xxx-C (heap)
ECX: 00000000 ( 0) -> N/A
EDX: 09973231 ( 160903729) ->
FINVITEHmethodJH282L2X2N192.168.3.104nQmaddrS2x2
U2W5060Y192.168.3.104\H^3(a"Negativa"d<sip (heap)
EDI: 00000000 ( 0) -> N/A
ESI: 099714d0 ( 160896208) ->
z9hG4bK6h9po42dw0v5zlxeb18rftsncyga3mqkaaaa:aaaa
:aaaa:aaaa:aaaa:aaaa:aaaa:aaaaXm192.168.3.101aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:
aaaagnzf3h0qm4o26sbxvia7wept (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> !?a8 $'tp+()`|&)`+()(|&)(|&)Hp #'p$'p
$'I#4%#x2)
D84%8)x (stack)
+00: 099721d0 ( 160899536) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 09970a98 ( 160893592) -> umenUx2676x2hp68r (heap)
+08: 1002613f ( 268591423) -> N/A
+0c: 09970ab0 ( 160893616) -> x2676x2hp68r64434p:testeu (heap)
+10: 010ffd38 ( 17825080) ->
K\80gu[ugK\z],h)g...@kg7#a^9cd2a2682c9\u[p^[i^ut
eComx-|\...@^]8` (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
0x10013932 jnz 0x10013942
0x10013934 add eax,0x2
0x10013937 add ecx,0x2
0x1001393a test dl,dl
0x1001393c jnz 0x10013922
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 25538
phapi.dll:10013924 cmp dl,[ecx] from thread 1540 caused access violation
when attempting to read from 0x00000000
CONTEXT DUMP
EIP: 10013924 cmp dl,[ecx]
EAX: 0989ffb0 ( 160038832) -> 192.168.3.104 (heap)
EBX: 01e384e8 ( 31687912) -> |2)Xxx-C (heap)
ECX: 00000000 ( 0) -> N/A
EDX: 098e2b31 ( 160312113) ->
p*...@+subject"+67*0#")hval+f"Negativa".tester13
37U: C:\ (heap)
EDI: 00000000 ( 0) -> N/A
ESI: 0266cbe8 ( 40291304) ->
*,aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaa:aaaaff^xgxg
CANCELSIP/2.0ffCANCELUDPbranch (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> 0f ?ap#8 $'tp+()`|&)`+()(|&)(|&)Hp #'p$'p
$'|4%x
X2)D84%8)x (stack)
+00: 02663008 ( 40251400) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 098d2098 ( 160243864) ->
p#4l192.168.3.104.a...@gaggfhxg"8tOietOie0DS;]8@
gxgxgxgxg (heap)
+08: 1002613f ( 268591423) -> N/A
+0c: 098e2370 ( 160310128) -> /f...@**) "+0/HEL sip:[email protected] (heap)
+10: 010ffd38 ( 17825080) ->
~\80gu[ug~\z],h)gphgS@/~g7#A^9cd2a2682c9\u[p^[i^
uteComx-|\...@^]8` (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
0x10013932 jnz 0x10013942
0x10013934 add eax,0x2
0x10013937 add ecx,0x2
0x1001393a test dl,dl
0x1001393c jnz 0x10013922
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 46
phapi.dll:10013917 mov eax,[edx+0x4] from thread 2412 caused access
violation
when attempting to read from 0x00000004
CONTEXT DUMP
EIP: 10013917 mov eax,[edx+0x4]
EAX: 00000000 ( 0) -> N/A
EBX: 01e384d8 ( 31687896) -> 2)Xxx-C (heap)
ECX: 0000000f ( 15) -> N/A
EDX: 00000000 ( 0) -> N/A
EDI: 0991d1a8 ( 160551336) -> gsxxip:[email protected] (heap)
ESI: 099167d8 ( 160524248) -> 0P"CANCEL
SIP/2.0&xhxj$ttlp*2.0!(UDPg.`act,CANCE
L2xf0`m6fh4:jb8v7yxnu3o0szil (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> (?a8 $'t[`+()P|&)P+()|&)|&)8` #'`$'`
$',H4%h2)D(
4%()x (stack)
+00: 0991c1f8 ( 160547320) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 0991b228 ( 160543272) -> e`k192.168.3.104 nlkntsxxgnxgliuxP{xHe
~xg0E-xg-7
1...@h^ (heap)
+08: 1002613f ( 268591423) -> N/A
+0c: 0991d1a8 ( 160551336) -> gsxxip:[email protected] (heap)
+10: 010ffd38 ( 17825080) ->
80K\h80gm[ug80K\z],h)g...@hg7#ap^9cd2a2682c9\m[]
[iP^PuteComx-|[^]8Pp (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x100138fb jz 0x10013911
0x100138fd mov eax,[esi+0xc]
0x10013900 mov ecx,[esi+0x4]
0x10013903 push eax
0x10013904 push ecx
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 4449
phapi.dll:10013917 mov eax,[edx+0x4] from thread 4636 caused access
violation
when attempting to read from 0x00000004
CONTEXT DUMP
EIP: 10013917 mov eax,[edx+0x4]
EAX: 00000000 ( 0) -> N/A
EBX: 01e384e8 ( 31687912) -> 2)Xxx-C (heap)
ECX: 0000000f ( 15) -> N/A
EDX: 00000000 ( 0) -> N/A
EDI: 08f22af0 ( 150088432) -> 1*11 20xreceived (heap)
ESI: 08f1cfe8 ( 150065128) -> *`1p1H8)))8*(*prportFFP (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> *?a*8 $'t1p+()`|&)`+()(|&)(|&)Hp #'p$'p
$'@4...@x(
2)D84%8)x (stack)
+00: 08f21000 ( 150081536) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 08f22ad8 ( 150088408) -> *umen1*11 2 (heap)
+08: 1002613f ( 268591423) -> N/A
+0c: 08f22af0 ( 150088432) -> 1*11 20xreceived (heap)
+10: 010ffd38 ( 17825080) ->
\80gu[ug\z],h)gp...@g7#a^9cd2a2682c9\u[p^[i^utec
omx-|@\...@^]8` (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x100138fb jz 0x10013911
0x100138fd mov eax,[esi+0xc]
0x10013900 mov ecx,[esi+0x4]
0x10013903 push eax
0x10013904 push ecx
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>python sulley/s_utils/crashbin_explorer.py
sessions/Qutecom.cras
hbin -t 4450
phapi.dll:10013917 mov eax,[edx+0x4] from thread 3360 caused access
violation
when attempting to read from 0x00000004
CONTEXT DUMP
EIP: 10013917 mov eax,[edx+0x4]
EAX: 00000000 ( 0) -> N/A
EBX: 01e384e8 ( 31687912) -> 2)Xxx-C (heap)
ECX: 0000000f ( 15) -> N/A
EDX: 00000000 ( 0) -> N/A
EDI: 098de3e8 ( 160293864) -> >e Vf=(<gx\Documents and S (heap)
ESI: 098eb580 ( 160347520) -> g8"f(kschemas-upnp-
org:device-1-0$LeLe6schemas-u
pnp-org:device-1-0...@}_p (heap)
EBP: 00000000 ( 0) -> N/A
ESP: 03f2fe80 ( 66256512) -> @h?a8 $'t4p+()`|&)`+()(|&)(|&)Hp #'p$'p
$'4%xp2)
D84%8)x (stack)
+00: 098df640 ( 160298560) -> INVITE sip:[email protected] SIP/2.0
(heap)
+04: 098c1b68 ( 160177000) ->
J?KXm-,tnexxgq...@+xgpgtoie@*to...@c8;]...@4xxgp (h
eap)
+08: 1002613f ( 268591423) -> N/A
+0c: 098de3e8 ( 160293864) -> >e Vf=(<gx\Documents and S (heap)
+10: 010ffd38 ( 17825080) ->
.\80gu[ug.\z],h)g(h...@e6g7#a^9cd2a2682c9\u[p^[i^
uteComx-|\...@^]8` (heap)
+14: 00272420 ( 2565152) -> N/A
disasm around:
0x100138fb jz 0x10013911
0x100138fd mov eax,[esi+0xc]
0x10013900 mov ecx,[esi+0x4]
0x10013903 push eax
0x10013904 push ecx
0x10013905 call 0x100137c0
0x1001390a add esp,0x8
0x1001390d test eax,eax
0x1001390f jnz 0x1001396a
0x10013911 mov edx,[edi+0xac]
0x10013917 mov eax,[edx+0x4]
0x1001391a mov edi,[eax+0xc]
0x1001391d mov eax,[esi+0xc]
0x10013920 mov ecx,edi
0x10013922 mov dl,[eax]
0x10013924 cmp dl,[ecx]
0x10013926 jnz 0x10013942
0x10013928 test dl,dl
0x1001392a jz 0x1001393e
0x1001392c mov dl,[eax+0x1]
0x1001392f cmp dl,[ecx+0x1]
SEH unwind:
03f2ffdc -> MSVCR80.dll:78138ced
ffffffff -> kernel32.dll:7c839ad8
C:\voiper-0.06>
--
Ticket URL: <http://trac.qutecom.org/ticket/188>
QuteCom <http://trac.qutecom.org>
_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev