File tree Expand file tree Collapse file tree 4 files changed +10
-3
lines changed
Expand file tree Collapse file tree 4 files changed +10
-3
lines changed Original file line number Diff line number Diff line change 11# Ruby SAML Changelog
22
3- ### 1.17.0
3+ ### 1.17.0 (Sep 10, 2024)
4+ * Fix for critical vulnerability CVE-2024 -45409: SAML authentication bypass via Incorrect XPath selector
45* [ #687 ] ( https://github.com/SAML-Toolkits/ruby-saml/pull/687 ) Add CI coverage for Ruby 3.3 and Windows.
56* [ #673 ] ( https://github.com/SAML-Toolkits/ruby-saml/pull/673 ) Add ` Settings#sp_cert_multi ` paramter to facilitate SP certificate and key rotation.
67* [ #673 ] ( https://github.com/SAML-Toolkits/ruby-saml/pull/673 ) Support multiple simultaneous SP decryption keys via ` Settings#sp_cert_multi ` parameter.
3940* Add warning about the use of IdpMetadataParser class and SSRF
4041* CI: Migrate from Travis to Github Actions
4142
43+ ### 1.12.3 (Sep 10, 2024)
44+ * Fix for critical vulnerability CVE-2024 -45409: SAML authentication bypass via Incorrect XPath selector
45+
4246### 1.12.2 (Apr 08, 2021)
4347* [ #575 ] ( https://github.com/onelogin/ruby-saml/pull/575 ) Fix SloLogoutresponse bug on LogoutRequest
4448
Original file line number Diff line number Diff line change 77Ruby SAML minor and tiny versions may introduce breaking changes. Please read
88[ UPGRADING.md] ( UPGRADING.md ) for guidance on upgrading to new Ruby SAML versions.
99
10+ There is a critical vulnerability affecting ruby-saml < 1.17.0 (CVE-2024 -45409). Make sure you are using an updated version. (1.12.3 is safe)
11+
1012## Overview
1113
1214The Ruby SAML library is for implementing the client side of a SAML authorization,
Original file line number Diff line number Diff line change 11module OneLogin
22 module RubySaml
3- VERSION = '1.16 .0'
3+ VERSION = '1.17 .0'
44 end
55end
Original file line number Diff line number Diff line change @@ -316,6 +316,7 @@ def validate_signature(base64_cert, soft = true)
316316 "./ds:SignedInfo" ,
317317 { "ds" => DSIG }
318318 )
319+
319320 # get inclusive namespaces
320321 inclusive_namespaces = extract_inclusive_namespaces
321322
@@ -325,7 +326,7 @@ def validate_signature(base64_cert, soft = true)
325326 reference_nodes = document . xpath ( "//*[@ID=$id]" , nil , { 'id' => extract_signed_element_id } )
326327
327328 if reference_nodes . length > 1 # ensures no elements with same ID to prevent signature wrapping attack.
328- return append_error ( "Digest Mismatch " , soft )
329+ return append_error ( "Digest mismatch. Duplicated ID found " , soft )
329330 end
330331
331332 hashed_element = reference_nodes [ 0 ]
You can’t perform that action at this time.
0 commit comments