WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
312458
Digital Credentials: UI process should verify user gesture authorization token
https://bugs.webkit.org/show_bug.cgi?id=312458
Summary
Digital Credentials: UI process should verify user gesture authorization token
Marcos Caceres
Reported
2026-04-16 02:51:47 PDT
The Digital Credentials API requires transient activation (a user gesture) before presenting the credential chooser. This check is enforced in the web content process via consumeTransientActivation() in DigitalCredential::discoverFromExternalSource(). However, if the web content process is compromised, an attacker could bypass this check and send the ShowDigitalCredentialsPicker IPC message directly to the UI process. The UI process currently trusts that the web content process already validated the user gesture. WebKit already has a UserGestureAuthorizationToken system for navigations (window.open): the UI process mints a UUID when dispatching input events and verifies it when the web process claims a navigation was user-initiated (see WebProcessProxy::consumeIfNotVerifiablyFromUIProcess). We should extend this pattern to the Digital Credentials API: 1. Add a std::optional<WTF::UUID> gestureAuthorizationToken parameter to the ShowDigitalCredentialsPicker IPC message 2. In the web process, capture the token from UserGestureIndicator::currentUserGesture()->authorizationToken() before sending the IPC 3. In the UI process handler (WebPageProxy::showDigitalCredentialsPicker), verify the token against the recorded authorization tokens using MESSAGE_CHECK This provides defense-in-depth: even if the renderer is compromised, the UI process independently verifies a real user gesture occurred before showing the credential picker.
Attachments
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2026-04-16 02:51:53 PDT
<
rdar://problem/174908839
>
Marcos Caceres
Comment 2
2026-05-04 22:59:47 PDT
Pull request:
https://github.com/apple/WebKit/pull/5178
Marcos Caceres
Comment 3
2026-07-02 19:13:18 PDT
Pull request:
https://github.com/WebKit/WebKit/pull/68592
EWS
Comment 4
2026-07-15 02:37:06 PDT
Committed
317228@main
(ed0fee7700f5): <
https://commits.webkit.org/317228@main
> Reviewed commits have been landed. Closing PR #68592 and removing active labels.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug