lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [day] [month] [year] [list]
Date: Sun, 17 Mar 2019 17:13:56 +0200 (EET)
From: Timo Lindfors <timo.lindfors@....fi>
To: fulldisclosure@...lists.org
Subject: [FD] CVE-2018-19971: JFrog Artifactory Pro SAML SSO signature
 validation error


CVE-2018-19971: JFrog Artifactory Pro SAML SSO signature validation error
-------------------------------------------------------------------------

Affected products
=================

The SAML SSO addon in Artifactory 6.5.9 is vulnerable.
The SAML SSO addon in Artifactory 6.5.13 is NOT vulnerable.

Other versions were not tested.

Background
==========

  "Artifactory offers a SAML-based Single Sign-On service allowing
  federated Artifactory partners (identity providers) full control over
  the authorization process.

  Using SAML, Artifactory acts as service provider which receives
  users' authentication information from external identity providers.
  The SAML SSO addon in Artifactory Pro"

  -- https://www.jfrog.com/confluence/display/RTF/SAML+SSO+Integration

Description
===========

The SAML SSO addon in Artifactory 6.5.9 does not properly validate the
XML signature in the SAMLResponse field send to the URL
/webapp/saml/loginResponse. An attacker can use this flaw to login as
any user if they already can login as some user.

Let's assume that the attacker has obtained a valid SAML message of
the form

Root
- Assertion id="original"
   - Subject
- Signature
  - SignedInfo
    - Reference URI="original"

where the URI attribute of the Reference element points to the
Assertion element.

If we introduce a new Assertion element and make the original
Assertion and Signature elements its children we end up with the
message

Root
- Assertion id="evil"
  - Subject
  - Assertion id="original"
    - Subject
  - Signature
   - SignedInfo
     - Reference URI="original"

When Artifactory processes this message it looks for the Signature
element and checks that the original assertion is signed
properly. However, it then proceeds to use the Subject information
from the evil assertion which is fully under attacker's control.

Exploit
=======

If you want to test this vulnerability you can fetch a fork of the
SAMLRaider tool from https://github.com/lindi2/SAMLRaider and then
select "XSW9" from the drop-down list.

You might also want to take a look at the SAMLRaider documentation
that shows how this variant differs from earlier similar
vulnerabilities:

https://github.com/lindi2/SAMLRaider/blob/af73ee4a71e3125188496da29a83799fdb41d8e8/src/main/resources/xswlist.png

(The original documentation contained only bitmap images of text so it
was not very easy to add new variants.)

Author
======

This issue was discovered by Timo Lindfors from Nixu Corporation.

Timeline
========

2018-12-07: Issue reported to vendor.
2018-12-08: Mitre assigns CVE-2018-19971 to this vulnerability.
2018-12-17: JFrog releases a fix in Artifactory 6.5.13.

_______________________________________________
Sent through the Full Disclosure mailing list
https://nmap.org/mailman/listinfo/fulldisclosure
Web Archives & RSS: http://seclists.org/fulldisclosure/

Powered by blists - more mailing lists