Unverified Sign in with Apple callback parameter can override verified ID token claims
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| pow-auth | assent | unaffected |
|
||||||
| pow-auth | assent | unaffected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Pow-auth | Assent |
|
||||||||
| Pow-auth | Assent |
|
Vendor Workaround
Remove the user parameter from the callback parameters before you pass them to Assent.Strategy.Apple.callback/2, for example with Map.delete(params, "user"). Without the parameter, decode_user_params/2 yields an empty map and the verified ID token claims pass through unchanged. The user's name is then unavailable, because Apple delivers it only through this parameter.
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.228% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Acceptance of Extraneous Untrusted Data With Trusted Data vulnerability in the Sign in with Apple strategy in pow-auth Assent allows an unauthenticated remote attacker to impersonate another user via the user parameter of the authorization callback. Apple posts the user's name to the callback endpoint in a user form parameter that the browser submits and the client controls. Assent.Strategy.Apple.callback/2 in lib/assent/strategies/apple.ex decodes that parameter, and fetch_user/2 merges it over the claims of the verified ID token, so the unverified map wins. An attacker who completes a Sign in with Apple login with their own Apple ID and edits the user parameter can replace sub, email, and any other claim. Applications that look up, link, or authorize accounts by the returned subject or email then act on the attacker's values. This issue affects assent: from 0.1.25 before 0.3.2. | |
| Title | Unverified Sign in with Apple callback parameter can override verified ID token claims | |
| First Time appeared |
Pow-auth
Pow-auth assent |
|
| Weaknesses | CWE-290 CWE-349 |
|
| CPEs | cpe:2.3:a:pow-auth:assent:*:*:*:*:*:*:*:* | |
| Vendors & Products |
Pow-auth
Pow-auth assent |
|
| References |
|
|
| Metrics |
cvssV4_0
|