Skip to content
Snippets Groups Projects
  1. Oct 21, 2018
  2. Oct 17, 2018
  3. Aug 22, 2018
  4. Aug 13, 2018
  5. Jun 15, 2018
  6. May 31, 2018
  7. May 10, 2018
  8. Apr 13, 2018
  9. Feb 28, 2018
  10. Feb 07, 2018
  11. Jan 21, 2018
  12. Jan 16, 2018
  13. Jan 08, 2018
  14. Jan 06, 2018
  15. Jan 04, 2018
  16. Dec 14, 2017
  17. Nov 14, 2017
  18. Oct 25, 2017
  19. Oct 16, 2017
  20. Oct 10, 2017
    • Jaime Pérez Crespo's avatar
      bugfix: Make sure no JS code can be injected into redirected URLs · 5f074e97
      Jaime Pérez Crespo authored
      In order to fix this, we first sanitize any URL given to SimpleSAML\Utils\HTTP::checkURLAllowed() so that we make sure we have a true URL without spurious characters. Secondly, we stop using an "onload" event in the body of the redirect page to trigger the redirect automatically. Instead, we use a "meta refresh" redirection.
      
      This double remediation is because there were two issues here: one, we were printing user input inside a chunk of javascript code. The other exploits the fact that the header() function silently breaks when a null character is part of the URL given to a "Location" header. In that case, the HTTP 302 Redirection doesn't happen, and then the browser loads the HTML and goes through it, running the injected javascript.
      
      This fixes #699.
      5f074e97
  21. Sep 07, 2017
    • Jaime Pérez Crespo's avatar
      Add a new method SimpleSAML\Auth\getProcessedURL(). · 918a1fb4
      Jaime Pérez Crespo authored
      This method allows us to parse a URL and "rebase" it based on the $config['application']['baseURL'] configuration option. Thanks to this, applications will be able to configure a canonical base URL for the application, effectively translating any URL that might be built incorrectly (e.g. not using HTTPS because that is offloaded to a reverse proxy).
      918a1fb4
  22. Sep 01, 2017
  23. Mar 30, 2017
  24. Jan 19, 2017
  25. Jan 16, 2017
  26. Aug 22, 2016
    • Jaime Pérez's avatar
      bugfix: Do not try to apply SSP's base URL if REQUEST_URI does not match. · 2155d1ec
      Jaime Pérez authored
      It is possible that the current script ($_SERVER['SCRIPT_FILENAME']) is inside SimpleSAMLphp's 'www' directory. However, even if that's the case, we should not enforce our base URL (as set in the 'baseurlpath' configuration option) if the request URI ($_SERVER['REQUEST_URI']) does not contain the relative path to the script. This is the case of AuthMemCookie, for example, where accessing a random URL protected by Apache, leads to the execution of a SimpleSAMLphp script, where SimpleSAML\Utils\HTTP::getSelfURL() must not try to be smart when guessing the current URL.
      2155d1ec
  27. Jul 15, 2016
    • Jaime Pérez's avatar
      bugfix: Restore the capability to get our self URL when invoked from a third-party script. · e8ee8c83
      Jaime Pérez authored
      Recent fixes for URL guessing and building addressed bugs in the code that were preventing the 'baseurlpath' from being used properly. However, they introduced a new issue, as the code was assuming the current URL would always point to a SimpleSAMLphp script. This is not always true, of course, as any script can invoke our API and end up trying to get its own URL (for example, when calling requireAuth()).
      
      In order to fix this, we monitor mismatches between SimpleSAMLphp's installation path and the absolute, real path to the current script. When there's a mismatch, it means we are running a third-party script outside SimpleSAMLphp, and therefore we should NOT enforce 'baseurlpath'. This introduces an additional issue, as applications behind a reverse proxy may cause trouble to guess the right URL (we will use the URL as seen by SimpleSAMLphp in the server, which is not necessarily the same as the user sees with a reverse proxy in between). For the moment, we'll leave the responsibility to sort that issue out to implementors. It might be a good idea to add a page to the wiki explaining how to do this.
      
      This resolves #418.
      e8ee8c83
Loading