1. 04 Apr, 2017 3 commits
    • Eric Chiang's avatar
      Merge pull request #894 from ericchiang/backport-saml-fix-v2.3.x · da60fa82
      Eric Chiang authored
      connector/saml: fix validation bug with multiple Assertion elements
      da60fa82
    • Eric Chiang's avatar
      connector/saml: refactor tests and add self-signed responses · 6a701489
      Eric Chiang authored
      Introduces SAML tests which execute full response processing and
      compare user attributes. tesdata now includes a full, self-signed
      CA and documents signed using xmlsec1.
      
      Adds deprication notices to existing tests, but don't remove them
      since they still provide coverage.
      6a701489
    • Eric Chiang's avatar
      connector/saml: fix validation bug with multiple Assertion elements · 59cefd98
      Eric Chiang authored
      When a SAML response provided multiple Assertion elements, only the
      first one is checked for a valid signature. If the Assertion is
      verified, the original Assertion is removed and the canonicalized
      version is prepended to the Response. However, if there were
      multiple assertions, the second assertion could end up first in the
      list of Assertions, even if it was unsigned.
      
      For example this:
      
          <Response>
            <!--
               Response unsigned. According to SAML spec must check
               assertion signature.
            -->
            <Assertion>
              <Signature>
                <!-- Correrctly signed assertion -->
              </Signature>
            </Assertion>
      
            <Assertion>
              <!-- Unsigned assertion inserted by attacker-->
            </Assertion>
          </Response>
      
      could be verified then re-ordered to the following:
      
          <Response>
            <!--
               Response unsigned. According to SAML spec must check
               assertion signature.
            -->
            <Assertion>
              <!-- Unsigned assertion inserted by attacker-->
            </Assertion>
      
            <Assertion>
              <!-- Canonicalized, correrctly signed assertion -->
            </Assertion>
          </Response>
      
      Fix this by removing all unverified child elements of the Response,
      not just the original assertion.
      59cefd98
  2. 24 Mar, 2017 7 commits
  3. 23 Mar, 2017 3 commits
  4. 22 Mar, 2017 2 commits
  5. 21 Mar, 2017 3 commits
  6. 20 Mar, 2017 7 commits
  7. 17 Mar, 2017 3 commits
  8. 16 Mar, 2017 1 commit
  9. 15 Mar, 2017 2 commits
  10. 13 Mar, 2017 2 commits
  11. 10 Mar, 2017 3 commits
  12. 09 Mar, 2017 2 commits
  13. 08 Mar, 2017 2 commits