@@ -477,10 +477,10 @@ In accordance with established cryptographic best practices, each key MUST be us
477477exactly one algorithm. Compliance with this requirement MUST be enforced and
478478validated at the time the cryptographic operation is executed.
479479
480- Libraries SHOULD opt for defensive security policies to cope
480+ As a best practice, libraries should opt for defensive security policies to cope
481481with potential issues in the underlying infrastructure, such
482482as the JSON parser.
483- In particular, libraries SHOULD use allowlists for critical
483+ In particular, libraries should use allowlists for critical
484484parameters such as "alg" instead of blocklists, because blocklists
485485cannot anticipate every unsafe or misspelled value an attacker might use.
486486
@@ -526,7 +526,7 @@ If even just a few bits of the random value are predictable across multiple mess
526526the security of the signature scheme may be compromised. In the worst case,
527527the private key may be recoverable by an attacker. To counter these attacks,
528528JWT libraries SHOULD implement ECDSA using the deterministic
529- approach defined in {{RFC6979}}.
529+ approach defined in {{RFC6979}}, unless this is not reasonably implementable .
530530This approach is completely compatible with existing ECDSA verifiers and so can be implemented
531531without new algorithm identifiers being required.
532532
@@ -592,7 +592,8 @@ Note that even when used for key encryption, password-based encryption is
592592
593593Compression of data SHOULD NOT be used when creating a JWE, because
594594such compressed data often reveals information about the plaintext,
595- as described in {{Kelsey}}.
595+ as described in {{Kelsey}}, unless this risk is outside the applicable
596+ threat model.
596597
597598
598599# # Use UTF-8 {#use-utf8}
@@ -660,9 +661,10 @@ and/or sanitizing the received value.
660661which may contain an arbitrary URL,
661662could result in server-side request forgery (SSRF) attacks. Applications SHOULD protect against such
662663attacks, e.g., by matching the URL to an allowlist of permitted locations
663- and ensuring no cookies are sent in the GET request.
664+ and ensuring no cookies are sent in the GET request, unless there are no
665+ local resources to protect (e.g., a hosted sandbox).
664666
665- When such an allowlist is not available, the authorization server SHOULD check what a hostname resolves to
667+ When such an allowlist is not available, the authorization server MUST check what a hostname resolves to
666668and avoid making a request if it resolves to a loopback or local IP address,
667669because otherwise an attacker-chosen URL can cause the server to fetch arbitrary content from within the security domain.
668670An example of this is when "attacker.example.com/etc/passwd" is used
@@ -904,6 +906,7 @@ This document obsoletes RFC 8725 and provides several significant improvements a
904906
905907# # draft-ietf-oauth-rfc8725bis-07
906908
909+ * Applied ARTART review suggestions for SHOULD language in Sections 3.1, 3.2, 3.6, and 3.10.
907910* Applied ARTART review suggestions regarding explicit typing (Section 3.11).
908911
909912# # draft-ietf-oauth-rfc8725bis-06
0 commit comments