Home Contact Buy
Sitemap Contact
Home Time Tracker Consulting Download Video Free Buy Sitemap Contact

SQL Injection Vulnerability in Invoices

CVE-2023-32308.

Boolean-based blind SQL injection vulnerability existed in Time Tracker invoices.php in versions prior to 1.22.11.5781. This was happening because of a coding error after validating parameters in POST requests. There was no check for errors before adjusting invoice sorting order. Because of this, it was possible to craft a POST request with malicious SQL for Time Tracker database.

Patches

Fixed in version 1.22.11.5781.

Workarounds

Upgrade is recommended. If it is not practical, insert an additional check for errors (line 79) in a condition before calling ttGroupHelper::getActiveInvoices() (line 85) in invoices.php.

The resulting code should look like this:
  if ($err->no() && $request->getParameter('sorting_changed')) {
    // User changed sorting. Get invoices sorted accordingly.
    $sort_options = array('sort_option_1'=>$sort_option_1,
      'sort_order_1'=>$sort_order_1,
      'sort_option_2'=>$sort_option_2,
      'sort_order_2'=>$sort_order_2);
    $invoices = ttGroupHelper::getActiveInvoices($sort_options);
  }

Support

If you need help with upgrading or migrating your system you can order paid support. We can also host Time Tracker for your organization on our servers. If you have any questions feel free to contact us.