Skip to content

Commit 6c73f79

Browse files
committed
last edits from AD review
1 parent 2e20f76 commit 6c73f79

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

draft-ietf-oauth-browser-based-apps.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -167,17 +167,17 @@ the following terms:
167167
This document discusses the security of browser-based applications, which are executed by the browser in a runtime environment. In most scenarios, these applications are JavaScript (JS) applications running in a JavaScript execution environment. Given the popularity of this scenario, this document uses the term "JavaScript" to refer to all mechanisms that allow code to execute in the application's runtime in the browser. The recommendations and considerations in this document are not exclusively linked to the JavaScript language or its runtime, but also apply to other languages and runtime environments in the browser.
168168

169169
"PKCE":
170-
: PKCE refers to Proof Key for Code Exchange (PKCE) {{RFC7636}}, a mechanism
170+
: Proof Key for Code Exchange (PKCE) {{RFC7636}}, a mechanism
171171
to prevent various attacks on OAuth authorization codes.
172172

173173
"DPoP":
174-
: DPoP {{RFC9449}} is a mechanism to restrict access tokens to be used only by the client they were issued to.
174+
: OAuth 2.0 Demonstrating of Proof of Possession (DPoP) {{RFC9449}} is a mechanism to restrict access tokens to be used only by the client they were issued to.
175175

176176
"CORS":
177-
: CORS refers to Cross-Origin Resource Sharing {{Fetch}}, a mechanism that enables exceptions to the browser's same-origin policy.
177+
: Cross-Origin Resource Sharing {{Fetch}}, a mechanism that enables exceptions to the browser's same-origin policy.
178178

179179
"CSP":
180-
: CSP refers to Content Security Policy {{-CSP3}}, a mechanism of restricting which resources a particular web page can fetch or execute.
180+
: Content Security Policy {{-CSP3}}, a mechanism of restricting which resources a particular web page can fetch or execute.
181181

182182

183183
History of OAuth 2.0 in Browser-Based Applications
@@ -213,7 +213,7 @@ Unfortunately, history shows that even when applying these security guidelines,
213213

214214
Applications might obtain OAuth tokens that confer authorization
215215
necessary to their functioning. In combination, this effectively gives
216-
compromised code the ability to use that authorization for malicious ends
216+
compromised code the ability to use that authorization for malicious ends.
217217
Though the risk of attacker abuse of authorization is unavoidable, there are
218218
ways to limit the extent to which a compromised application can abuse that
219219
authorization. For instance, this access might be limited to times when the
@@ -327,7 +327,7 @@ The application can use DPoP to ensure its access tokens are bound to non-export
327327

328328
### Client Hijacking {#consequence-hijack}
329329

330-
When stealing tokens is not possible or desirable, the attacker can also choose to hijack the OAuth client application running in the user's browser. This effectively allows the attacker to perform any operations that the legitimate client application can perform. Examples include inspecting data on the page, modifying the page, and sending requests to backend systems. alternatively, the attacker can also abuse their access to the application to launch additional attacks, such as tricking the client into acting on behalf of the attacker using an attack such as session fixation.
330+
When stealing tokens is not possible or desirable, the attacker can also choose to hijack the OAuth client application running in the user's browser. This effectively allows the attacker to perform any operations that the legitimate client application can perform. Examples include inspecting data on the page, modifying the page, and sending requests to backend systems. Alternatively, the attacker can also abuse their access to the application to launch additional attacks, such as tricking the client into acting on behalf of the attacker using an attack such as session fixation.
331331

332332
Note that client hijacking is less powerful than directly abusing stolen user tokens. In a client hijacking scenario, the attacker cannot directly control the tokens and is restricted by the security policies enforced on the client application. For example, a resource server running on `admin.example.org` can be configured with a CORS policy that rejects requests coming from a client running on `web.example.org`. Even if the access token used by the client would be accepted by the resource server, the resource server's strict CORS configuration does not allow such a request. A resource server without such a strict CORS policy can still be subject to adversarial requests coming from the compromised client application.
333333

@@ -1340,6 +1340,8 @@ Document History
13401340

13411341
-24
13421342

1343+
* Updated terminology definitions
1344+
* Fixed typos
13431345
* Updated acknowledgements
13441346

13451347
-23

0 commit comments

Comments
 (0)