Skip to content
Snippets Groups Projects
  1. Jul 24, 2018
    • JediKev's avatar
      issue: Client Side Column Sorting · 1a92dcb1
      JediKev authored
      This addresses an issue where client side column sorting does not work at
      all. This is due to the if/else statement that checks for a REQUEST sort
      order and if the REQUEST sort order matches an `$orderWays` array value. The
      if statement returns TRUE for DESC and sets the sort order to DESC as it
      equals '-' (a dash) but ASC equals '' (an empty string) so it returns FALSE
      which fails-over to the else statement setting the sort order to DESC. In
      addition, this adds sorting icons the the column headers to make it more
      obvious they are sortable.
      1a92dcb1
  2. Jul 20, 2018
    • JediKev's avatar
      issue: TextThreadEntryBody Sanitize · d8abe105
      JediKev authored
      This addresses an issue introduced with a3d896c8 where TextThreadEntryBodies
      are not keeping their new line characters causing the email format to appear
      wonky. This balances the entry and then htmlchars it to ensure no XSS.
      d8abe105
  3. Jul 13, 2018
    • JediKev's avatar
      issue: Ticket Lock On Disable · 62f5962f
      JediKev authored
      This addresses an issue where disabling Ticket Locks but setting a time
      for the Lock Timeout will always throw a "lock required" error. This adds
      a check to see if locks are enabled AND there is a time set. If locks are
      disabled it will not throw the error.
      62f5962f
    • JediKev's avatar
      issue: User Import No Email · c8e2c3f1
      JediKev authored
      This addresses issue 4329 where you can import a User with no email
      address via CSV file. Once the User is added and you try to update them
      with an email address it fails due to no default email. This updates the
      check for email address from `!isset()` to `empty()` which will correctly
      check for empty string.
      c8e2c3f1
    • JediKev's avatar
      department: Error Feedback · d9beb14e
      JediKev authored
      This addresses an issue where osTicket did not ensure associated items exist
      before saving to the database. This also addresses an issue where the Parent
      Topic error was not displayed on page.
      d9beb14e
    • JediKev's avatar
      security: Fix Multiple XSS Vulnerabilies · a3d896c8
      JediKev authored
      It may be possible to steal or manipulate customer session and cookies,
      which might be used to impersonate a legitimate user, allowing the hacker to
      view or alter user records, and to perform transactions as that user.
      Sanitation of hazardous characters was not performed correctly on user
      input.
      
      osTicket did not properly sanitize array values in `Format::htmlchars()`.
      Some values in the Admin Interface were not properly sanitized and returned
      to the response.
      a3d896c8
  4. Jul 09, 2018
    • JediKev's avatar
      issue: CLI Deploy Missing Bootstrap · fd75eddf
      JediKev authored
      This addresses issue 4322 where deploying via CLI is missing
      `bootstrap.php`. This is due to the `get_include_dir()` function that
      tries to include a file from the destination which doesn’t exist yet,
      causing a fatal error. This updates the function to use `$this->source`
      instead of `$this->destination` to correctly find and include
      `bootstrap.php`.
      fd75eddf
  5. Jul 03, 2018
    • JediKev's avatar
      issue: Language Pack Locale Mismatch · a87f19d3
      JediKev authored
      This addresses issue 4325 where the Language Pack Locales are mismatched.
      The Locale for the first language is displayed on the second language,
      etc. This updates the `$manifest` variable to be set before we display
      data so the correct `MANIFEST` file is included and all language data is
      displayed correctly.
      a87f19d3
  6. Jun 07, 2018
    • JediKev's avatar
      issue: Auto-Assignment Log · e4329513
      JediKev authored
      This addresses an issue on the Forums where the Auto-Assignment Thread
      Event (configurable via Help Topic) uses the Email of the User rather than
      the User’s Name. This adds the correct function to retrieve the User’s
      Name if the User has an Account.
      e4329513
  7. May 13, 2018
  8. May 09, 2018
    • JediKev's avatar
      issue: Information Page Performance · dfa0f3f0
      JediKev authored
      This addresses an issue on the forums where the query to determine the
      size of the `file_chunk` table is making the page load really slow for
      people with large tables. This updates the query to improve the
      performance of the page load time.
      dfa0f3f0
  9. May 03, 2018
    • JediKev's avatar
      issue: Prevent Click Jacking · bb5564d4
      JediKev authored
      This addresses a vulnerability where there was no `X-Frame-Options` header
      which could potentially allow click jacking. This adds the
      `X-Frame-Options: SAMEORIGIN` header so it will remove any chance of click
      jacking. According to Mozilla Developer Docs:
      ```
      SAMEORIGIN
      The page can only be displayed in a frame on the same origin as the page
      itself.
      ```
      bb5564d4
  10. Apr 25, 2018
    • JediKev's avatar
      issue: Files - deleteOrphans() · a3e04e82
      JediKev authored
      This addresses the issue where files were being deleted before being sent
      out in Agent responses. This was due to a bug in the query that gets the
      orphaned files. This query was getting files created within the last 24
      hours not after the last 24 hours. The query also had another bug that
      would use the time from PHP instead of MySQL which could cause issues.
      This updates the query as per @greezybacon's suggestions to delete
      orphaned files that were created more than 24 hours ago.
      a3e04e82
  11. Apr 19, 2018
    • Jared Hancock's avatar
      queryset: Fix circular reference error · 0f9cab06
      Jared Hancock authored
      This fixes an error where the ModelInstanceManager maintained a reference to
      the QuerySet instance, and the QuerySet instance managed a reference to the
      ModelInstanceManager instance (if it's the iterator for the query). Because
      of the circular reference, if the iterator is not exhausted, then the
      resource is not closed and the query remains open. This wastes memory and
      prevents some other queries from running after such a situation happens.
      
      This addresses the issue by removing the circular reference between the
      QuerySet and the ModelInstanceManager.
      0f9cab06
  12. Apr 09, 2018
    • JediKev's avatar
      upgrader: Flush Cache On Upgrade · fe34bb24
      JediKev authored
      This addresses an issue where the Upgrader will sometimes use an outdated
      cached object and throw an error. This adds a the function to clear the
      Model Cache every time the Upgrader runs an Upgrade Patch to get fresh
      objects.
      fe34bb24
  13. Apr 02, 2018
    • JediKev's avatar
      issue: Org. User Account Status · beb6cad5
      JediKev authored
      This addresses an issue where the User’s account status is always 'Active'
      in the Organization list no matter what their actual status is. This adds the
      account status to the user query which adds the correct status to the Users’
      account.
      beb6cad5
  14. Mar 26, 2018
    • JediKev's avatar
      issue: Outlook _MailEndCompose · fad881ed
      JediKev authored
      This addresses an issue where Outlook adds weird (and seemingly random)
      _MailEndCompose tags to the email body which turns unwanted content into
      links. This adds the _MailEndCompose tag to Format::sanitize() so it
      will be removed from the email body.
      fad881ed
  15. Mar 20, 2018
    • JediKev's avatar
      issue: AJAX Reflected XSS · e919d8a6
      JediKev authored
      This addresses an issue where you can exploit XSS in the help-topic AJAX
      request. This adds a check for a refferal URL and if none it will return
      a 403 Forbidden Response.
      e919d8a6
    • JediKev's avatar
      issue: CSRF In users.inc.php URL · 285a292a
      JediKev authored
      This addresses an issue where the CSRF Token is displayed in the URL
      when you preform a search in the Users Tab. This removes the token from the
      request which removes it from the URL.
      285a292a
  16. Mar 07, 2018
    • JediKev's avatar
      issue: Fix imap_open Disable Authenticator · 96345e47
      JediKev authored
      This addresses an issue where the 'DISABLE_AUTHENTICATOR' args were not
      properly added to the `imap_open` params. This changes the `+=` operator
      to `array_merge()` to successufully add the params.
      96345e47
  17. Mar 06, 2018
    • JediKev's avatar
      xss: Prevent Agent Directory XSS · 36651b91
      JediKev authored
      This addresses a vulnerability where an Agent can perform XSS via the
      Agent Directory’s REQUEST query string. This sanitizes the request params
      so the code will be escaped and not executed in the browser.
      36651b91
  18. Feb 28, 2018
    • JediKev's avatar
      format: Fix Vimeo iFrames · cc06c052
      JediKev authored
      This addresses an issue where some Vimeo videos are not being sent in
      Agent’s responses. This adds `player.vimeo` to the sanitize method’s
      iframe section so that the iframe tag is not stripped.
      cc06c052
  19. Feb 22, 2018
  20. Feb 21, 2018
    • JediKev's avatar
      oops: Fix randNumber() · 5b8b95ab
      JediKev authored
      This addresses an issue where the `randNumber()` function would crash on
      32-Bit systems if the ticket format was set to a really high amount of
      digits (eg. ###################). This is because the `max()` value that
      was being passed to `mt_rand()` exceeded the `mt_getrandmax()` limit which
      caused an error. This updates the function to generate a random number for
      each digit to avoid the `mt_getrandmax()` limit.
      5b8b95ab
  21. Feb 07, 2018
  22. Jan 25, 2018
    • JediKev's avatar
      issue: Section Break Hint · 2cbfbbfb
      JediKev authored
      This addresses an issue where the Help Text for Section Break fields does
      not display custom Redactor styling correctly. Instead of displaying the
      properly formatted Redactor content with it's styling it displays the
      entire html for the Redactor content. This was due to the format method
      used for the Section Break Field's Help Text. This updates the method from
      `Format::htmlchars()` to `Format::display()` which displays the properly
      formatted content. The content is also sanitized by `Format::sanitize()`
      before saving to the database to avoid any chance of XSS.
      2cbfbbfb
  23. Nov 06, 2017
    • JediKev's avatar
      issue: File Upload Bypass · 3eb16147
      JediKev authored
      This addresses an issue where someone can bypass the file restrictions on
      the file upload field in the Client Portal. This adds the allowed
      extensions and file types to the field options so that User’s cannot
      upload anything other than the allowed file types.
      3eb16147
  24. Oct 19, 2017
    • JediKev's avatar
      issue: Httponly Cookies · 5b2dfce9
      JediKev authored
      This addresses issue 4015 where osTicket’s cookies aren’t HttpOnly by
      default. The HttpOnly flag helps prevent client scripts accessing the
      cookie. This updates the method that sets the cookie params to include
      the HttpOnly flag.
      5b2dfce9
  25. Sep 14, 2017
    • Peter Rotich's avatar
      Form data XSS · bcd58e88
      Peter Rotich authored
      Encode html entities of cached form data
      bcd58e88
    • Peter Rotich's avatar
      CVE-2017-14396 · 1eaa6910
      Peter Rotich authored
      This commit addresses an SQL injection vulnerability in ORM lookup
      function.
      
      * ORM implementation failed to properly quote fields, used in SQL
      statements, that might originate from unsanitized user input.
      
      * AttachmentFile lookup allowed for key based SQL injection by blindly
      delegating non-string lookup to ORM.
      1eaa6910
  26. Aug 15, 2017
  27. Aug 10, 2017
  28. Aug 08, 2017
    • JediKev's avatar
      tasks: Fix Task Updated Time · d6dfa7a6
      JediKev authored
      This addresses an issue where updating a Task does not change the
      `updated` column in the database. This adds a line to change the `update`
      column when updating a Task.
      d6dfa7a6
  29. Jul 28, 2017
    • JediKev's avatar
      oops: Fix Task Print · 2ddf78a6
      JediKev authored
      This addresses issue 3782 where clicking Print on a Task gives you a blank
      popup that hangs. This is because the Print button was being treated as a
      Task action when it is actually not one. This adds a ternary operator to
      give the proper Task Actions the `task-action` class and gives the Print
      button no class.
      2ddf78a6
  30. Jul 21, 2017
    • JediKev's avatar
      oops: User Phone Search · 00e47272
      JediKev authored
      This addresses issue 3815 where searching by User's phone number doesn't
      work in v1.10. This adds phone number search capabilities for the User
      Directory and User Search popup in v1.10.
      00e47272
  31. Jul 19, 2017
    • JediKev's avatar
      cron: Delete Expired Sessions · 5a8fdeae
      JediKev authored
      This addresses an issue where expired sessions would not be removed from
      the database. This caused the session table to fill up and create
      unnecessary issues. This adds a cleanup method to remove all expired
      sessions from the database.
      5a8fdeae
  32. May 12, 2017
    • JediKev's avatar
      forms: Proper Field Deletion · ad34072c
      JediKev authored
      This addresses issue where upon deletion of a form field and all its
      entry values, the field record wouldn't be deleted from the `form_field`
      table. This links another issue where you can't delete a list if its
      been a field before. This is due to the list delete() function that
      checks for list field records in the `form_field` table.
      ad34072c
  33. Apr 24, 2017
Loading