---
id: CVE-2026-117656
title: >-
  Unverified Sign in with Apple callback parameter can override verified ID
  token claims
summary: >-
  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
  authorizati…
severity: critical
cvss: 9.3
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-290
  - CWE-349
vendor: pow-auth
product: assent
affected:
  - assent >= 0.1.25 < 0.3.2
  - >-
    pow-auth/assent >= a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3 <
    18898bde0296152165ae470078490e5798329b1b
ssvc:
  exploitation: none
  automatable: 'yes'
  technicalImpact: total
  timestamp: '2026-11-06T15:58:50.558643Z'
published: '2026-10-30'
updated: '2026-11-06'
sourceUpdated: '2026-11-06T15:59:07.242Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-117656'
references:
  - url: 'https://github.com/pow-auth/assent/security/advisories/GHSA-9fr5-g44g-9526'
    label: >-
      Unverified Sign in with Apple callback parameter can override verified ID
      token claims
  - url: 'https://cna.erlef.org/cves/CVE-2026-117656.html'
    label: EEF CNA record for CVE-2026-117656
  - url: 'https://osv.dev/vulnerability/EEF-CVE-2026-117656'
    label: OSV record EEF-CVE-2026-117656
  - url: >-
      https://github.com/pow-auth/assent/commit/a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3
    label: Introducing commit a2d331e in pow-auth/assent
  - url: >-
      https://github.com/pow-auth/assent/commit/18898bde0296152165ae470078490e5798329b1b
    label: Fix commit 18898bd in pow-auth/assent
tags:
  - cve.org
epss: 0.00228
epssPercentile: 0.13655
ingestedAt: '2026-11-05T16:24:31.492Z'
---

## Overview

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.

## Affected

- `assent >= 0.1.25 < 0.3.2`
- `pow-auth/assent >= a2d331e8c51376d6c0b04a81aad31e0b4d4d64a3 < 18898bde0296152165ae470078490e5798329b1b`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

### Workarounds

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.
