LiveZilla version 5.0.1.4 - Remote Code Execution


SUBMITTED BY: Guest

DATE: Nov. 24, 2013, 11:45 p.m.

FORMAT: Text only

SIZE: 3.6 kB

HITS: 1973

  1. CVE-2013-6225: Security Advisory – Curesec Research Team
  2. 1. Introduction
  3. Advisory ID: Cure-2013-1007
  4. Advisory URL: https://www.curesec.com/de/veroeffentlichungen
  5. /advisories.html
  6. Blog URL: https://cureblog.de/2013/11/remote-code-execution-in-livezilla/
  7. Affected Product: LiveZilla version 5.0.1.4
  8. Affected Systems Linux/Windows
  9. Fixed in: 5.1.0.0
  10. Fixed Version Link:
  11. https://www.livezilla.net/downloads/pubfiles/LiveZilla_5.1.0.0_Full.exe
  12. Vendor Contact: support@livezilla.net
  13. Vulnerability Type: Remote Code Execution / Local File Inclusion
  14. Remote Exploitable: Yes
  15. Reported to vendor 18.10.2013
  16. Disclosed to public 15.11.2013
  17. Release mode: Coordinated release
  18. CVE: CVE-2013-6225
  19. Credentials: crt@curesec.com
  20. 2. Vulnerability Description
  21. Livezilla is a online chat system used on websites so customers can be
  22. contacted by an employee ask their questions and get delivered what they
  23. are looking for. The software itself is used basically in every industry.
  24. Looking for possible affected systems google reveals: 1.500.000 results.
  25. Inside the file ‘mobile/php/translation/index.php’ the following code
  26. can be found:
  27. $langFileLocation = ‘.’;
  28. $LZLANG = Array();if (isset($_GET['g_language'])) {
  29. $language = ($_GET['g_language'] != ”) ? $_GET['g_language'] : ‘ein’;
  30. require ($langFileLocation . ‘/langmobileorig.php’);
  31. $LZLANGEN = $LZLANG;
  32. if (file_exists($langFileLocation . ‘/langmobile’ . $language . ‘.php’)) {
  33. require ($langFileLocation . ‘/langmobile’ . $language . ‘.php’);
  34. }
  35. The ‘g_language’ GET parameter is not validated before using it in a php
  36. require function call. This allows to include files that are stored on a
  37. windows server. It is, in this case, not possible to include files, if
  38. the php application is running on a linux server because ‘/langmobile’+
  39. the language is not a directory and therefore cannot be traversed. In
  40. recent PHP versions null bytes are blocked. This means that in this case
  41. only files with the PHP extension can be included. Older PHP versions
  42. will allow null bytes in the URL and therefore allow Remote Code
  43. Execution attacks involving httpd log files or /proc/pid/environ and
  44. other techniques to transform this Local File Inclusion into a full
  45. Remote Code Execution on Windows and Linux.
  46. On Windows systems with PHP versions installed that allow null bytes in
  47. the URL it is possible to turn this local file inclusion vulnerability
  48. to a full remote code execution vulnerability. This can be done by
  49. traversing directories and accessing the apache log file with having the
  50. injected the string that follows using a GET request into the log file.
  51. As the screendump shows full code execution in this case executing
  52. calc.exe on windows is possible.
  53. A working exploit for this vulnerability is found in the Appendix of
  54. this documents. The error.log or access.log path has to be known prior
  55. to running the exploit.
  56. 3. Proof of Concept Codes:
  57. Code execution URL sample:
  58. $nc <target> 80
  59. GET /index.php?test=<?php system($_GET[cmd]); ?> HTTP/1.1
  60. Host: <target>
  61. <return>
  62. <return>
  63. 4. Solution
  64. Download and install latest version:
  65. https://www.livezilla.net/downloads/pubfiles/LiveZilla_5.1.0.0_Full.exe
  66. 5. Report Timeline
  67. 18.10.2013 Informed Vendor about Issue
  68. 12.11.2013 Vendor informed about the fixed new version
  69. 15.11.2013 Disclosed to public

comments powered by Disqus