Skip to content

Commit 98ed9be

Browse files
authored
Merge pull request #49 from oauth-wg/ys-artart-shoulds
ARTART: clarify SHOULD language (Sections 3.1, 3.2, 3.6, 3.10)
2 parents 9502158 + 1700d59 commit 98ed9be

1 file changed

Lines changed: 9 additions & 6 deletions

File tree

draft-ietf-oauth-rfc8725bis.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -477,10 +477,10 @@ In accordance with established cryptographic best practices, each key MUST be us
477477
exactly one algorithm. Compliance with this requirement MUST be enforced and
478478
validated 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
481481
with potential issues in the underlying infrastructure, such
482482
as the JSON parser.
483-
In particular, libraries SHOULD use allowlists for critical
483+
In particular, libraries should use allowlists for critical
484484
parameters such as "alg" instead of blocklists, because blocklists
485485
cannot 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
526526
the security of the signature scheme may be compromised. In the worst case,
527527
the private key may be recoverable by an attacker. To counter these attacks,
528528
JWT libraries SHOULD implement ECDSA using the deterministic
529-
approach defined in {{RFC6979}}.
529+
approach defined in {{RFC6979}}, unless this is not reasonably implementable.
530530
This approach is completely compatible with existing ECDSA verifiers and so can be implemented
531531
without new algorithm identifiers being required.
532532

@@ -592,7 +592,8 @@ Note that even when used for key encryption, password-based encryption is
592592

593593
Compression of data SHOULD NOT be used when creating a JWE, because
594594
such 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.
660661
which may contain an arbitrary URL,
661662
could result in server-side request forgery (SSRF) attacks. Applications SHOULD protect against such
662663
attacks, 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
666668
and avoid making a request if it resolves to a loopback or local IP address,
667669
because otherwise an attacker-chosen URL can cause the server to fetch arbitrary content from within the security domain.
668670
An 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

Comments
 (0)