| Reporter | Title | Published | Views | Family All 6 |
|---|---|---|---|---|
| JFrog Artifactory Pro SAML SSO Signature Verification Error | 20 Mar 201900:00 | – | cnvd | |
| CVE-2018-19971 | 16 Apr 201918:12 | – | cve | |
| CVE-2018-19971 | 16 Apr 201918:12 | – | cvelist | |
| EUVD-2018-11638 | 7 Oct 202500:30 | – | euvd | |
| CVE-2018-19971 | 16 Apr 201919:29 | – | nvd | |
| Improper access control | 16 Apr 201919:29 | – | prion |
`
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.
`
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation