You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -46,9 +46,10 @@ it by email to the maintainer: sixto.martin.garcia+security@gmail.com
46
46
and from a trusted source. Ruby SAML does not perform any validation that the URL
47
47
you entered is correct and/or safe.
48
48
-**False-Positive Security Warnings:** Some tools may incorrectly report Ruby SAML as a
49
-
potential security vulnerability, due to it's dependency on Nokogiri. Such warnings can
49
+
potential security vulnerability, due to its dependency on Nokogiri. Such warnings can
50
50
be ignored; Ruby SAML uses Nokogiri in a safe way, by always disabling its DTDLOAD option
51
51
and enabling its NONET option.
52
+
-**Prevent Replay attacks:** A replay attack is when an attacker intercepts a valid SAML assertion and "replays" it at a later time to gain unauthorized access. The `ruby-saml` library provides the tools to prevent this, but **you, the developer, must implement the core logic**, see an specific section later in the README.
52
53
53
54
### Supported Ruby Versions
54
55
@@ -179,7 +180,7 @@ def saml_settings
179
180
end
180
181
```
181
182
182
-
The use of settings.issuer is deprecated in favour of settings.sp_entity_id since version 1.11.0
183
+
The use of settings.issuer is deprecated in favor of settings.sp_entity_id since version 1.11.0
183
184
184
185
Some assertion validations can be skipped by passing parameters to `RubySaml::Response.new()`.
185
186
For example, you can skip the `AuthnStatement`, `Conditions`, `Recipient`, or the `SubjectConfirmation`
@@ -255,13 +256,13 @@ Ruby SAML allows different ways to validate the signature of the SAML Response:
255
256
`idp_cert_fingerprint` and `idp_cert_fingerprint_algorithm` parameters.
256
257
257
258
In addition, you may pass the option `:relax_signature_validation` to `SloLogoutrequest` and
258
-
`Logoutresponse` if want to skip signature validation on logout.
259
+
`Logoutresponse` if you want to skip signature validation on logout.
259
260
260
261
The `idp_cert_fingerprint` option is deprecated for the following reasons. It will be
261
262
removed in Ruby SAML version 2.1.0.
262
263
1. It only works with HTTP-POST binding, not HTTP-Redirect, since the full certificate
263
264
is not sent in the Redirect URL parameters.
264
-
2. It is theoretically be susceptible to collision attacks, by which a malicious
265
+
2. It is theoretically susceptible to collision attacks, by which a malicious
265
266
actor could impersonate the IdP. (However, as of January 2025, such attacks have not
266
267
been publicly demonstrated for SHA-256.)
267
268
3. It has been removed already from several other SAML libraries in other languages.
@@ -365,8 +366,7 @@ Those return an Hash instead of a `Settings` object, which may be useful for con
365
366
366
367
### Validating Signature of Metadata and retrieve settings
367
368
368
-
Right now there is no method at ruby_saml to validate the signature of the metadata that gonna be parsed,
369
-
but it can be done as follows:
369
+
Right now there is no method at ruby_saml to validate the signature of the metadata that is going to be parsed, but it can be done as follows:
370
370
* Download the XML.
371
371
* Validate the Signature, providing the cert.
372
372
* Provide the XML to the parse method if the signature was validated
RubySaml `1.x` used a combination of REXML and Nokogiri for XML parsing and generation.
77
78
In `2.0.0`, REXML has been replaced with Nokogiri. As a result, there are minor differences
78
-
in how XML is generated, ncluding SAML requests and SP Metadata:
79
+
in how XML is generated, including SAML requests and SP Metadata:
79
80
80
81
1. All XML namespace declarations will be on the root node of the XML. Previously,
81
82
some declarations such as `xmlns:ds` were done on child nodes.
@@ -121,7 +122,7 @@ The reasons for this change are:
121
122
### Removal of embed_sign setting
122
123
123
124
The deprecated `settings.security[:embed_sign]` parameter has been removed. If you were using it, please instead switch
124
-
to using both the `settings.idp_sso_service_binding` and `settings.idp_slo_service_binding` parameters as show below.
125
+
to using both the `settings.idp_sso_service_binding` and `settings.idp_slo_service_binding` parameters as shown below.
125
126
(This new syntax is supported on version 1.13.0 and later.)
126
127
127
128
```ruby
@@ -231,7 +232,7 @@ when parsing a SAML Message (`settings.check_malformed_doc`).
231
232
232
233
The SignedDocument class defined at xml_security.rb experienced several changes.
233
234
We don't expect compatibilty issues if you use the main methods offered by ruby-saml, but if
234
-
you use a fork or customized usage, is possible that you need to adapt your code.
235
+
you use a fork or customized usage, it is possible that you will need to adapt your code.
235
236
236
237
## Upgrading from 1.12.x to 1.13.0
237
238
@@ -257,7 +258,7 @@ in favor of `idp_sso_service_url` and `idp_slo_service_url`. The `IdpMetadataPar
257
258
258
259
## Upgrading from 1.10.x to 1.11.0
259
260
260
-
Version `1.11.0` deprecates the use of `settings.issuer` in favour of `settings.sp_entity_id`.
261
+
Version `1.11.0` deprecates the use of `settings.issuer` in favor of `settings.sp_entity_id`.
261
262
There are two new security settings: `settings.security[:check_idp_cert_expiration]` and
262
263
`settings.security[:check_sp_cert_expiration]` (both false by default) that check if the
263
264
IdP or SP X.509 certificate has expired, respectively.
@@ -352,7 +353,7 @@ It adds security improvements in order to prevent Signature wrapping attacks.
352
353
353
354
## Upgrading from 1.1.x to 1.2.x
354
355
355
-
Version `1.2` adds IDP metadata parsing improvements, uuid deprecation in favour of SecureRandom,
356
+
Version `1.2` adds IDP metadata parsing improvements, uuid deprecation in favor of SecureRandom,
356
357
refactor error handling and some minor improvements.
357
358
358
359
There is no compatibility issue detected.
@@ -367,7 +368,7 @@ Version `1.1` adds some improvements on signature validation and solves some nam
367
368
368
369
Version `1.0` is a recommended update for all Ruby SAML users as it includes security fixes.
369
370
370
-
Version `1.0` adds security improvements like entity expansion limitation, more SAML message validations, and other important improvements like decrypt support.
371
+
Version `1.0` adds security improvements like entity expansion limitation, more SAML message validations, and other important improvements like decryption support.
0 commit comments