alonbl / gnupg-pkcs11-scd

PKCS#11 GnuPG SCD
http://gnupg-pkcs11.sourceforge.net/
Other
68 stars 17 forks source link

9.3 release segfaults on PKAUTH command #39

Closed invidian closed 2 years ago

invidian commented 2 years ago

When trying 9.3 release, doing simple SSH, I get the following backtrace:

(gdb) bt
#0  0x00005591555a62ce in _cmd_pksign_type (ctx=0x559155e0f940, line=<optimized out>, typehint=3) at command.c:1135
#1  0x00007f94964a7552 in  () at /usr/lib/libassuan.so.0
#2  0x00007f94964a795b in assuan_process () at /usr/lib/libassuan.so.0
#3  0x00005591555a4f3a in command_handler (global=global@entry=0x7ffceb048290, fd=fd@entry=-1) at scdaemon.c:265
#4  0x00005591555a3e80 in main (argc=<optimized out>, argv=<optimized out>) at scdaemon.c:1407

Logs when running SSH:

Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> OK PKCS#11 smart-card server for GnuPG ready
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053.3118523968]: processing connection
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 <- GETINFO version
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> D 0.9.3
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> OK
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 <- SERIALNO
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S SERIALNO D2760001240111503131B68474111111 0
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> OK
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 <- LEARN --force
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 <- SERIALNO --demand=D2760001240111503131B68474111111
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S SERIALNO D2760001240111503131B68474111111
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S APPTYPE PKCS11
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FRIEDNLY 4A831446A7F8D45F1A9A52DDFFD798F9B9F5FA90 /CN=Mateusz Gozdek's Authentication Key on Mateusz Gozdek's Authenticati...
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FPR 3 4A831446A7F8D45F1A9A52DDFFD798F9B9F5FA90
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S CERTINFO 101 piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/01
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEYPAIRINFO 4A831446A7F8D45F1A9A52DDFFD798F9B9F5FA90 piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/01
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FRIEDNLY 362ED45F52914D3D3CC4232125DB34D94110B29B /CN=Mateusz Gozdek's Signing Key on Mateusz Gozdek's Authenticati...
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FPR 1 362ED45F52914D3D3CC4232125DB34D94110B29B
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S CERTINFO 101 piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/02
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 -> S SERIALNO D2760001240111503131B68474111111 0
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEYPAIRINFO 362ED45F52914D3D3CC4232125DB34D94110B29B piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/02
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 -> OK
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773051]: detected card with S/N D2760001240111503131B68474111111
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FRIEDNLY 51B10D3D8E36460D8BC13959186D738CA26FE72E /CN=Mateusz Gozdek's Encryption Key on Mateusz Gozdek's Authenticati...
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 <- SETDATA 3051300D0609608648016503040203050004403C0CE589063F5F0D3B02FCF80A1BDB616E44AAD0700F2AC916AD2A5EA0270ED0CC37A729D120A67A2F02605C930510381ABD042E3D9441ABBAEE9FBA43BAE7BF
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEY-FPR 2 51B10D3D8E36460D8BC13959186D738CA26FE72E
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S CERTINFO 101 piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/03
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 -> OK
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> S KEYPAIRINFO 51B10D3D8E36460D8BC13959186D738CA26FE72E piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/03
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_11 -> OK
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773053]: gnupg-pkcs11-scd[3773053]: chan_0 <- PKAUTH piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/01
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773051]: card has S/N: D2760001240111503131B68474111111
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773051]: smartcard signing failed: End of file
Jan 04 15:15:24 dellxps15mateusz gpg-agent[3773051]: ssh sign request failed: End of file <GPG Agent>

And logs with debug and verbose enabled:

Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_11 -> OK PKCS#11 smart-card server for GnuPG ready
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2178057792]: processing connection
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_11 <- GETINFO version
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_11 -> D 0.9.3
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_11 -> OK
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 <- SERIALNO --demand=D2760001240111503131B68474111111
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_enumTokenIds entry method=1, p_token_id_list=0x7ffce7b8adc0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_session_getSlotList entry provider=0x561b3bad4a90, token_present=1, pSlotList=0x7ffce7b8ac90, pulCount=0x7ffce7b8ac88
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_11 <- SERIALNO
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2178057792]: PKCS#11: pkcs11h_token_enumTokenIds entry method=1, p_token_id_list=0x7f3381d276f0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_session_getSlotList return rv=0-'CKR_OK' *pulCount=1
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_token_getTokenId entry p_token_id=0x561b3bb42cb8
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_token_newTokenId entry p_token_id=0x7ffce7b8ac30
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_token_newTokenId return rv=0-'CKR_OK', *p_token_id=0x561b3bb435d0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: _pkcs11h_token_getTokenId return rv=0-'CKR_OK', *p_token_id=0x561b3bb435d0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_enumTokenIds return rv=0-'CKR_OK', *p_token_id_list=0x7ffce7b8adc0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_serializeTokenId entry sz=(nil), *max=0000000000000000, token_id=0x561b3bb435d0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_serializeTokenId return rv=0-'CKR_OK', *max=0000000000000062, sz='(null)'
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_serializeTokenId entry sz=0x561b3bb03b90, *max=0000000000000062, token_id=0x561b3bb435d0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_serializeTokenId return rv=0-'CKR_OK', *max=0000000000000062, sz='piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E'
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_freeTokenIdList entry token_id_list=0x561b3bb42cb0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_freeTokenId entry certificate_id=0x561b3bb435d0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_freeTokenId return
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2213723520]: PKCS#11: pkcs11h_token_freeTokenIdList return
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 -> S SERIALNO D2760001240111503131B68474111111 0
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 -> OK
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3773051]: detected card with S/N D2760001240111503131B68474111111
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890.2178057792]:
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: PKCS#11: _pkcs11h_session_getSlotList entry provider=0x561b3bad4a90, token_present=1, pSlotList=0x7f3381d275c0, pulCount=0x7f3381d275b8
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 <- SETDATA 3051300D060960864801650304020305000440D7DB68EB2925AA34161DEB3CF02EA245F866199B5DB94A28ACA355113B28AFB592E76A7378401B54850138E4F1C995609C6C84E427235480B429632E04144960
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 -> OK
Jan 04 15:17:38 dellxps15mateusz gpg-agent[3774890]: gnupg-pkcs11-scd[3774890]: chan_0 <- PKAUTH piv_II/PKCS\x2315\x20emulated/498c934e2cd3f42b/Mateusz\x20Gozdek\x27s\x20Authenticati\x2E\x2E\x2E/01