Fuzz introspector: fuzz_pkcs11
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
10181 14350 9 :

['sc_do_log', 'sc_pkcs15init_set_p15card', 'pkcs15_create_secret_key', 'sc_pkcs15init_unbind', 'pkcs15_create_data', 'pkcs15_create_certificate', 'pkcs15_create_private_key', 'sc_pkcs15init_finalize_profile', 'pkcs15_create_public_key']

10181 14656 pkcs15_create_object call site: 00000 /src/opensc/src/pkcs11/framework-pkcs15.c:3148
6769 9377 18 :

['__pkcs15_create_prkey_object', 'get_X509_usage_privk', 'sc_do_log', '__pkcs15_create_pubkey_object', 'sc_pkcs15_erase_prkey', 'sc_pkcs15_dup_pubkey', 'attr_find2', 'attr_find', 'set_gost3410_params', 'attr_find_and_allocate_ptr', 'sc_pkcs15init_set_p15card', 'sc_pkcs15init_unbind', 'pkcs15_add_object', 'get_X509_usage_pubk', 'sc_pkcs15init_generate_key', 'sc_pkcs15_find_pubkey_by_id', 'sc_pkcs15init_finalize_profile', 'sc_pkcs15_fix_ec_parameters']

6769 10031 pkcs15_gen_keypair call site: 00000 /src/opensc/src/pkcs11/framework-pkcs15.c:3398
4524 4524 4 :

['external_key_auth', 'get_external_key_maxtries', 'update_secret_key', 'get_external_key_retries']

4524 5089 epass2003_pin_cmd call site: 00000 /src/opensc/src/libopensc/card-epass2003.c:3204
4276 5440 7 :

['pkcs15_init_slot', 'free', 'sc_pkcs15_find_pin_by_auth_id', 'sc_pkcs15init_store_pin', 'sc_do_log', 'sc_pkcs15init_unbind', 'sc_pkcs15init_finalize_profile']

4276 5883 pkcs15_init_pin call site: 00000 /src/opensc/src/pkcs11/framework-pkcs15.c:2284
2944 3738 12 :

['sc_print_path', 'sc_pkcs15_parse_df', 'parse_odf.10250', '_strlcpy', 'sc_pkcs15emu_object_add', 'sc_pkcs15_format_id', 'sc_pkcs15_free_object', 'dump_ef', 'sc_pkcs15_remove_object', 'sc_pin_cmd', 'sc_pkcs15_card_clear', 'sc_format_path']

2944 4564 sc_pkcs15emu_pteid_init call site: 00000 /src/opensc/src/libopensc/pkcs15-pteid.c:178
1680 1775 2 :

['sc_unlock', 'sc_pkcs15init_unbind']

1680 1775 pkcs15_create_object call site: 00000 /src/opensc/src/pkcs11/framework-pkcs15.c:3185
1200 1200 1 :

['sc_pkcs15emu_esteid2018_init']

1200 1200 sc_pkcs15emu_esteid2018_init_ex call site: 00000 /src/opensc/src/libopensc/pkcs15-esteid2018.c:204
1193 1193 1 :

['sc_pkcs15emu_esteid2025_init']

1193 1193 sc_pkcs15emu_esteid2025_init_ex call site: 00000 /src/opensc/src/libopensc/pkcs15-esteid2025.c:210
981 2586 25 :

['_strlcpy', 'sc_pkcs15_format_id', 'sc_pkcs15emu_add_xeddsa_pubkey', 'sc_compare_oid', 'sc_pkcs15emu_add_xeddsa_prkey', 'sc_get_data', 'malloc', 'sc_pkcs15emu_add_eddsa_pubkey', 'read_file.9439', 'sc_card_find_xeddsa_alg', 'sc_card_find_ec_alg', 'sc_card_ctl', 'sc_pkcs15emu_add_rsa_prkey', 'free', 'sc_asn1_decode_object_id', 'sc_pkcs15emu_add_ec_prkey', 'sc_pkcs15emu_add_ec_pubkey', 'sc_card_find_eddsa_alg', 'sc_pkcs15emu_add_rsa_pubkey', 'sc_select_file', 'sc_pkcs15emu_add_eddsa_prkey', 'sc_format_path', 'bebytes2ushort', 'sc_pkcs15emu_openpgp_add_data', 'sc_pkcs15emu_add_x509_cert']

981 3646 sc_pkcs15emu_openpgp_init call site: 00000 /src/opensc/src/libopensc/pkcs15-openpgp.c:285
945 945 1 :

['sc_pkcs15emu_dtrust_init']

945 945 sc_pkcs15emu_dtrust_init_ex call site: 00000 /src/opensc/src/libopensc/pkcs15-dtrust.c:101
921 921 1 :

['sc_pkcs15_unblock_pin']

921 1159 pkcs15_change_pin call site: 00000 /src/opensc/src/pkcs11/framework-pkcs15.c:2077
849 861 2 :

['sc_pkcs15_find_skey_by_id', 'sc_pkcs15_print_id']

849 1879 sc_pkcs15_verify_pin_with_session_pin call site: 00000 /src/opensc/src/libopensc/pkcs15-pin.c:368

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000