GrapheneOS / os-issue-tracker

Issue tracker for GrapheneOS Android Open Source Project hardening work. Standalone projects like Auditor, AttestationServer and hardened_malloc have their own dedicated trackers.
https://grapheneos.org/
357 stars 21 forks source link

Sandboxed Google play services crashed when using a FIDO2 token #1605

Closed set5una closed 1 year ago

set5una commented 2 years ago

Google play services crashed multiple times when attempting to authenticate with a NFC FIDO2 token in Vanadium.

Google play services v224113044 (beta) Google service framework v33 (beta)

Steps to reproduce: Attempt to register a new FIDO2 token at a webauthn demo site (webauthn.io) using Vanadium, the authentication prompt did not display properly and the sandboxed google play services crashes.

Crash logs;

type: crash
osVersion: google/sunfish/sunfish:13/TP1A.221005.002/2022102300:user/release-keys
package: com.google.android.gms:224113044
process: com.google.android.gms.ui

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.google.android.gms/com.google.android.gms.fido.fido2.ui.Fido2FullScreenActivity}: android.database.sqlite.SQLiteException: no such column: payments_support (code 1 SQLITE_ERROR): , while compiling: SELECT id, registration_time, counter, key_data, payments_support FROM registered_credentials WHERE id = ?
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3677)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3814)
 at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
 at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
 at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2309)
 at android.os.Handler.dispatchMessage(Handler.java:106)
 at android.os.Looper.loopOnce(Looper.java:201)
 at android.os.Looper.loop(Looper.java:288)
 at android.app.ActivityThread.main(ActivityThread.java:7904)
 at java.lang.reflect.Method.invoke(Native Method)
 at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)
Caused by: android.database.sqlite.SQLiteException: no such column: payments_support (code 1 SQLITE_ERROR): , while compiling: SELECT id, registration_time, counter, key_data, payments_support FROM registered_credentials WHERE id = ?
 at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
 at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:1068)
 at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:673)
 at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:590)
 at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:62)
 at android.database.sqlite.SQLiteQuery.<init>(SQLiteQuery.java:37)
 at android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:46)
 at android.database.sqlite.SQLiteDatabase.rawQueryWithFactory(SQLiteDatabase.java:1712)
 at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1559)
 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1430)
 at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1598)
 at agcl.b(:com.google.android.gms@224113044@22.41.13 (190400-480714934):6)
 at agcl.g(:com.google.android.gms@224113044@22.41.13 (190400-480714934):0)
 at agcx.e(:com.google.android.gms@224113044@22.41.13 (190400-480714934):3)
 at agxc.a(:com.google.android.gms@224113044@22.41.13 (190400-480714934):19)
 at com.google.android.gms.fido.fido2.ui.AuthenticateChimeraActivity.onCreate(:com.google.android.gms@224113044@22.41.13 (190400-480714934):54)
 at gwh.public_onCreate(:com.google.android.gms@224113044@22.41.13 (190400-480714934):1)
 at com.google.android.chimera.Activity.public_onCreate(:com.google.android.gms@224113044@22.41.13 (190400-480714934):2)
 at xdr.onCreate(:com.google.android.gms@224113044@22.41.13 (190400-480714934):2)
 at android.app.Activity.performCreate(Activity.java:8341)
 at android.app.Activity.performCreate(Activity.java:8320)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1389)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3658)
 ... 12 more
muhomorr commented 1 year ago

Unable to reproduce this issue. Try restarting Play services app by "force-stopping" it or by rebooting.

set5una commented 1 year ago

The issue seems to be gone after a grapheneos upgrade.