Skip to content

Commit 1bc447f

Browse files
committed
Release 1.17.0
1 parent 4865d03 commit 1bc447f

File tree

4 files changed

+10
-3
lines changed

4 files changed

+10
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
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.
@@ -39,6 +40,9 @@
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

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
Ruby 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

1214
The Ruby SAML library is for implementing the client side of a SAML authorization,

lib/onelogin/ruby-saml/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
module OneLogin
22
module RubySaml
3-
VERSION = '1.16.0'
3+
VERSION = '1.17.0'
44
end
55
end

lib/xml_security.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff 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]

0 commit comments

Comments
 (0)