Fuzz introspector: pkcs12
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
172 176 4 :

['bn_sqr_small', 'bn_mul_small', 'OPENSSL_cleanse', 'bn_from_montgomery_in_place']

174 178 bn_mod_mul_montgomery_small call site: 00000 /src/boringssl/crypto/fipsmodule/bn/montgomery.c:479
70 128 2 :

['ERR_put_error', 'ERR_add_error_dataf']

70 128 EVP_PKEY_set_type call site: 00000 /src/boringssl/crypto/evp/evp.c:367
70 70 1 :

['ERR_add_error_dataf']

70 128 ASN1_mbstring_ncopy call site: 00000 /src/boringssl/crypto/asn1/a_mbstr.c:173
48 106 2 :

['OBJ_obj2nid', 'ERR_put_error']

48 106 asn1_do_adb call site: 00000 /src/boringssl/crypto/asn1/tasn_utl.c:219
38 66 3 :

['cbs_get_two_digits', 'OPENSSL_gmtime_adj', 'CBS_len']

38 66 CBS_parse_rfc5280_time_internal call site: 00000 /src/boringssl/crypto/bytestring/cbs.c:886
32 32 3 :

['sk_void_free', 'CRYPTO_get_ex_data', 'CRYPTO_atomic_load_u32.3089']

32 32 CRYPTO_free_ex_data call site: 00299 /src/boringssl/crypto/ex_data.c:212
22 22 2 :

['handle_cpu_env', 'strchr']

22 22 OPENSSL_cpuid_setup call site: 00000 /src/boringssl/crypto/cpu_intel.c:265
18 18 1 :

['ASN1_UTF8STRING_free']

18 18 X509_alias_set1 call site: 00000 /src/boringssl/crypto/x509/x_x509a.c:98
16 34 3 :

['CRYPTO_MUTEX_lock_read', 'lh_ASN1_OBJECT_retrieve', 'CRYPTO_MUTEX_unlock_read']

16 92 OBJ_nid2obj call site: 00000 /src/boringssl/crypto/obj/obj.c:341
13 13 2 :

['sk_ASN1_VALUE_pop', 'sk_ASN1_VALUE_num.3175']

13 2036 asn1_template_noexp_d2i call site: 00000 /src/boringssl/crypto/asn1/tasn_dec.c:597
2 2 1 :

['strlen']

166 1295 ASN1_mbstring_ncopy call site: 00000 /src/boringssl/crypto/asn1/a_mbstr.c:89
2 2 1 :

['strlen']

2 219 ASN1_STRING_set call site: 00000 /src/boringssl/crypto/asn1/asn1_lib.c:267

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sk_X509_new_null [function] [call site] 00001
2 OPENSSL_sk_new_null [function] [call site] 00002
3 OPENSSL_sk_new [function] [call site] 00003
4 OPENSSL_malloc [function] [call site] 00004
5 __assert_fail [call site] 00005
5 __assert_fail [call site] 00006
5 OPENSSL_memory_alloc [call site] 00007
5 ERR_put_error [function] [call site] 00008
6 err_get_state [function] [call site] 00009
7 CRYPTO_get_thread_local [function] [call site] 00010
8 CRYPTO_once [function] [call site] 00011
9 pthread_once [call site] 00012
9 abort [call site] 00013
8 pthread_getspecific [call site] 00014
7 OPENSSL_memset [function] [call site] 00015
7 CRYPTO_set_thread_local [function] [call site] 00016
8 CRYPTO_once [function] [call site] 00017
8 pthread_getspecific [call site] 00018
8 OPENSSL_memset [function] [call site] 00019
8 pthread_setspecific [call site] 00020
8 pthread_mutex_lock [call site] 00021
8 pthread_mutex_unlock [call site] 00022
7 err_state_free [function] [call site] 00023
8 err_clear [function] [call site] 00024
9 OPENSSL_memset [function] [call site] 00025
6 __errno_location [call site] 00026
6 err_clear [function] [call site] 00027
4 OPENSSL_memset [function] [call site] 00028
4 OPENSSL_malloc [function] [call site] 00029
4 OPENSSL_memset [function] [call site] 00030
4 OPENSSL_free [function] [call site] 00031
5 OPENSSL_memory_free [call site] 00032
5 OPENSSL_cleanse [function] [call site] 00033
6 OPENSSL_memset [function] [call site] 00034
5 sdallocx [call site] 00035
1 PKCS12_get_key_and_certs [function] [call site] 00037
2 sk_X509_num [function] [call site] 00038
2 CBS_asn1_ber_to_der [function] [call site] 00039
3 cbs_find_ber [function] [call site] 00040
4 CBS_get_any_ber_asn1_element [function] [call site] 00043
5 cbs_get_any_asn1_element [function] [call site] 00044
6 __assert_fail [call site] 00045
6 __assert_fail [call site] 00046
6 parse_asn1_tag [function] [call site] 00047
7 parse_base128_integer [function] [call site] 00050
8 CBS_get_u8 [function] [call site] 00051
6 CBS_get_u8 [function] [call site] 00052
6 CBS_get_bytes [function] [call site] 00054
6 CBS_get_bytes [function] [call site] 00059
4 is_string_type [function] [call site] 00060
4 cbs_find_ber [function] [call site] 00063
3 CBS_get_any_asn1_element [function] [call site] 00064
4 cbs_get_any_asn1_element [function] [call site] 00065
3 CBB_init [function] [call site] 00067
4 CBB_zero [function] [call site] 00068
5 OPENSSL_memset [function] [call site] 00069
4 OPENSSL_malloc [function] [call site] 00070
3 cbs_convert_ber [function] [call site] 00072
4 __assert_fail [call site] 00073
4 CBS_get_any_ber_asn1_element [function] [call site] 00079
4 is_string_type [function] [call site] 00080
4 CBB_add_asn1 [function] [call site] 00081
5 CBB_flush [function] [call site] 00082
6 cbb_get_base [function] [call site] 00083
6 __assert_fail [call site] 00084
6 __assert_fail [call site] 00085
6 CBB_flush [function] [call site] 00086
7 __assert_fail [call site] 00087
7 ERR_put_error [function] [call site] 00088
7 cbb_buffer_add [function] [call site] 00089
8 cbb_buffer_reserve [function] [call site] 00090
9 OPENSSL_realloc [function] [call site] 00091
10 OPENSSL_malloc [function] [call site] 00092
10 OPENSSL_memory_get_size [call site] 00093
10 OPENSSL_malloc [function] [call site] 00094
10 OPENSSL_free [function] [call site] 00095
9 ERR_put_error [function] [call site] 00096
7 OPENSSL_memmove [function] [call site] 00097
7 ERR_put_error [function] [call site] 00098
5 CBB_add_u8 [function] [call site] 00099
6 cbb_add_u [function] [call site] 00100
7 CBB_add_space [function] [call site] 00101
8 CBB_flush [function] [call site] 00102
8 cbb_get_base [function] [call site] 00103
7 cbb_get_base [function] [call site] 00104
5 add_base128_integer [function] [call site] 00105
6 CBB_add_u8 [function] [call site] 00106
5 CBB_add_u8 [function] [call site] 00107
5 cbb_add_child [function] [call site] 00108
6 __assert_fail [call site] 00109
6 __assert_fail [call site] 00110
6 cbb_get_base [function] [call site] 00111
6 cbb_buffer_add [function] [call site] 00112
6 OPENSSL_memset [function] [call site] 00113
4 cbs_convert_ber [function] [call site] 00115
5 CBB_flush [function] [call site] 00116
5 cbs_convert_ber [function] [call site] 00118
6 CBB_add_bytes [function] [call site] 00121
7 CBB_add_space [function] [call site] 00122
7 OPENSSL_memcpy [function] [call site] 00123
6 CBB_flush [function] [call site] 00124
3 CBB_finish [function] [call site] 00125
4 ERR_put_error [function] [call site] 00126
4 CBB_flush [function] [call site] 00127
4 CBB_cleanup [function] [call site] 00128
5 OPENSSL_free [function] [call site] 00129
3 CBB_cleanup [function] [call site] 00130
2 ERR_put_error [function] [call site] 00132
2 OPENSSL_memset [function] [call site] 00133
2 CBS_get_asn1 [function] [call site] 00134
3 cbs_get_asn1 [function] [call site] 00135
4 CBS_get_any_asn1_element [function] [call site] 00136
4 __assert_fail [call site] 00138
2 CBS_get_asn1_uint64 [function] [call site] 00140
3 CBS_get_asn1 [function] [call site] 00141
3 CBS_is_unsigned_asn1_integer [function] [call site] 00142
4 CBS_is_valid_asn1_integer [function] [call site] 00143
5 CBS_get_u8 [function] [call site] 00144
5 CBS_get_u8 [function] [call site] 00145
2 ERR_put_error [function] [call site] 00148
2 ERR_put_error [function] [call site] 00149
2 CBS_get_asn1 [function] [call site] 00150
2 ERR_put_error [function] [call site] 00151
2 ERR_put_error [function] [call site] 00153
2 CBS_get_asn1 [function] [call site] 00154
2 ERR_put_error [function] [call site] 00155
2 CBS_get_asn1 [function] [call site] 00156
2 CBS_get_asn1 [function] [call site] 00157
2 ERR_put_error [function] [call site] 00158
2 CBS_mem_equal [function] [call site] 00159
3 CRYPTO_memcmp [function] [call site] 00160
2 ERR_put_error [function] [call site] 00161
2 CBS_get_asn1 [function] [call site] 00162
2 ERR_put_error [function] [call site] 00163
2 strlen [call site] 00164
2 CBS_get_asn1 [function] [call site] 00165
2 ERR_put_error [function] [call site] 00166
2 EVP_parse_digest_algorithm [function] [call site] 00167
3 CBS_get_asn1 [function] [call site] 00168
3 CBS_get_asn1 [function] [call site] 00169
3 ERR_put_error [function] [call site] 00170
3 cbs_to_md [function] [call site] 00171
4 OPENSSL_memcmp [function] [call site] 00174
5 memcmp [call site] 00175
4 EVP_get_digestbynid [function] [call site] 00176
3 ERR_put_error [function] [call site] 00177
3 CBS_get_asn1 [function] [call site] 00178
3 ERR_put_error [function] [call site] 00181
2 CBS_get_asn1 [function] [call site] 00182
2 CBS_get_asn1 [function] [call site] 00183
2 ERR_put_error [function] [call site] 00184
2 CBS_get_asn1_uint64 [function] [call site] 00185
2 pkcs12_iterations_acceptable [function] [call site] 00186
2 ERR_put_error [function] [call site] 00187
2 pkcs12_check_mac [function] [call site] 00188
3 EVP_MD_size [function] [call site] 00190
3 pkcs12_key_gen [function] [call site] 00191
4 ERR_put_error [function] [call site] 00192
4 EVP_MD_CTX_init [function] [call site] 00193
5 OPENSSL_memset [function] [call site] 00194
4 pkcs12_encode_password [function] [call site] 00195
5 cbs_get_utf8 [function] [call site] 00198
6 CBS_get_u8 [function] [call site] 00199
6 is_valid_code_point [function] [call site] 00200
5 cbb_add_ucs2_be [function] [call site] 00201
6 is_valid_code_point [function] [call site] 00202
6 CBB_add_u16 [function] [call site] 00203
7 cbb_add_u [function] [call site] 00204
5 ERR_put_error [function] [call site] 00205
5 cbb_add_ucs2_be [function] [call site] 00206
5 CBB_finish [function] [call site] 00207
5 CBB_cleanup [function] [call site] 00208
4 EVP_MD_block_size [function] [call site] 00209
4 OPENSSL_memset [function] [call site] 00210
4 ERR_put_error [function] [call site] 00211
4 ERR_put_error [function] [call site] 00212
4 OPENSSL_malloc [function] [call site] 00213
4 EVP_DigestInit_ex [function] [call site] 00214
5 __assert_fail [call site] 00215
5 OPENSSL_malloc [function] [call site] 00216
5 OPENSSL_free [function] [call site] 00217
5 __assert_fail [call site] 00218
4 EVP_DigestUpdate [function] [call site] 00219
4 EVP_DigestUpdate [function] [call site] 00220
4 EVP_DigestFinal_ex [function] [call site] 00221
5 OPENSSL_cleanse [function] [call site] 00222
4 EVP_DigestInit_ex [function] [call site] 00223
4 EVP_DigestUpdate [function] [call site] 00224
4 EVP_DigestFinal_ex [function] [call site] 00225
4 OPENSSL_memcpy [function] [call site] 00226
4 __assert_fail [call site] 00227
4 OPENSSL_free [function] [call site] 00228
4 OPENSSL_free [function] [call site] 00229
4 EVP_MD_CTX_cleanup [function] [call site] 00230
5 OPENSSL_free [function] [call site] 00231
5 __assert_fail [call site] 00232
5 EVP_MD_CTX_init [function] [call site] 00233
3 EVP_MD_size [function] [call site] 00234
3 HMAC [function] [call site] 00237
4 HMAC_CTX_init [function] [call site] 00238
5 EVP_MD_CTX_init [function] [call site] 00239
5 EVP_MD_CTX_init [function] [call site] 00240
5 EVP_MD_CTX_init [function] [call site] 00241
4 HMAC_Init_ex [function] [call site] 00242
5 EVP_MD_block_size [function] [call site] 00243
5 __assert_fail [call site] 00244
5 EVP_MD_size [function] [call site] 00245
5 __assert_fail [call site] 00246
5 EVP_DigestInit_ex [function] [call site] 00247
5 EVP_DigestUpdate [function] [call site] 00248
5 EVP_DigestFinal_ex [function] [call site] 00249
5 OPENSSL_memcpy [function] [call site] 00250
5 OPENSSL_memset [function] [call site] 00251
5 EVP_DigestInit_ex [function] [call site] 00252
5 EVP_DigestUpdate [function] [call site] 00253
5 EVP_MD_CTX_copy_ex [function] [call site] 00254
6 ERR_put_error [function] [call site] 00255
6 __assert_fail [call site] 00256
6 OPENSSL_malloc [function] [call site] 00257
6 EVP_MD_CTX_cleanup [function] [call site] 00258
6 OPENSSL_memcpy [function] [call site] 00259
6 __assert_fail [call site] 00260
4 HMAC_Update [function] [call site] 00261
5 EVP_DigestUpdate [function] [call site] 00262
4 HMAC_Final [function] [call site] 00263
5 EVP_DigestFinal_ex [function] [call site] 00264
5 EVP_MD_CTX_copy_ex [function] [call site] 00265
5 EVP_DigestUpdate [function] [call site] 00266
5 EVP_DigestFinal_ex [function] [call site] 00267
4 HMAC_CTX_cleanup [function] [call site] 00268
5 EVP_MD_CTX_cleanup [function] [call site] 00269
5 EVP_MD_CTX_cleanup [function] [call site] 00270
5 EVP_MD_CTX_cleanup [function] [call site] 00271
5 OPENSSL_cleanse [function] [call site] 00272
3 CBS_mem_equal [function] [call site] 00273
3 OPENSSL_cleanse [function] [call site] 00274
2 pkcs12_check_mac [function] [call site] 00275
2 ERR_put_error [function] [call site] 00276
2 PKCS12_handle_sequence [function] [call site] 00277
3 CBS_asn1_ber_to_der [function] [call site] 00278
3 ERR_put_error [function] [call site] 00279
3 CBS_get_asn1 [function] [call site] 00280
3 ERR_put_error [function] [call site] 00282
3 CBS_get_asn1 [function] [call site] 00284
3 ERR_put_error [function] [call site] 00285
3 OPENSSL_free [function] [call site] 00286
2 OPENSSL_free [function] [call site] 00287
2 EVP_PKEY_free [function] [call site] 00288
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00289
4 CRYPTO_atomic_load_u32 [function] [call site] 00290
4 abort [call site] 00291
4 CRYPTO_atomic_compare_exchange_weak_u32 [function] [call site] 00292
3 OPENSSL_free [function] [call site] 00294
2 sk_X509_num [function] [call site] 00295
2 sk_X509_pop [function] [call site] 00296
2 X509_free [function] [call site] 00297
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00298
3 CRYPTO_free_ex_data [function] [call site] 00299
4 CRYPTO_atomic_load_u32 [function] [call site] 00300
4 __assert_fail [call site] 00301
4 sk_void_free [function] [call site] 00302
5 OPENSSL_sk_free [function] [call site] 00303
6 OPENSSL_free [function] [call site] 00304
6 OPENSSL_free [function] [call site] 00305
4 CRYPTO_get_ex_data [function] [call site] 00306
5 sk_void_num [function] [call site] 00307
5 sk_void_value [function] [call site] 00308
3 X509_CINF_free [function] [call site] 00309
4 ASN1_item_free [function] [call site] 00310
5 ASN1_item_ex_free [function] [call site] 00311
6 ASN1_template_free [function] [call site] 00312
7 sk_ASN1_VALUE_num [function] [call site] 00313
8 OPENSSL_sk_num [function] [call site] 00314
7 sk_ASN1_VALUE_free [function] [call site] 00315
7 sk_ASN1_VALUE_value [function] [call site] 00316
7 ASN1_item_ex_free [function] [call site] 00317
8 ASN1_primitive_free [function] [call site] 00318
9 ASN1_OBJECT_free [function] [call site] 00319
10 OPENSSL_free [function] [call site] 00320
10 OPENSSL_free [function] [call site] 00321
10 OPENSSL_free [function] [call site] 00322
9 asn1_type_cleanup [function] [call site] 00323
10 ASN1_OBJECT_free [function] [call site] 00324
10 ASN1_STRING_free [function] [call site] 00325
11 OPENSSL_free [function] [call site] 00326
11 OPENSSL_free [function] [call site] 00327
9 OPENSSL_free [function] [call site] 00328
9 ASN1_STRING_free [function] [call site] 00329
8 ASN1_primitive_free [function] [call site] 00330
8 asn1_get_choice_selector [function] [call site] 00331
8 asn1_get_field_ptr [function] [call site] 00332
8 ASN1_template_free [function] [call site] 00333
9 ASN1_item_ex_free [function] [call site] 00334
10 OPENSSL_free [function] [call site] 00335
10 asn1_refcount_dec_and_test_zero [function] [call site] 00336
11 asn1_get_references [function] [call site] 00337
11 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00338
10 asn1_enc_free [function] [call site] 00339
11 asn1_get_enc_ptr [function] [call site] 00340
12 __assert_fail [call site] 00341
11 asn1_encoding_clear [function] [call site] 00342
12 CRYPTO_BUFFER_free [function] [call site] 00343
13 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00344
13 crypto_buffer_free_object [function] [call site] 00345
14 OPENSSL_free [function] [call site] 00346
14 OPENSSL_free [function] [call site] 00347
13 CRYPTO_MUTEX_lock_write [function] [call site] 00348
14 pthread_rwlock_wrlock [call site] 00349
14 abort [call site] 00350
13 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00351
13 lh_CRYPTO_BUFFER_retrieve [function] [call site] 00352
14 OPENSSL_lh_retrieve [function] [call site] 00353
15 get_next_ptr_and_hash [function] [call site] 00354
14 lh_CRYPTO_BUFFER_call_hash_func [function] [call site] 00355
13 lh_CRYPTO_BUFFER_delete [function] [call site] 00356
13 CRYPTO_MUTEX_unlock_write [function] [call site] 00357
14 pthread_rwlock_unlock [call site] 00358
14 abort [call site] 00359
13 crypto_buffer_free_object [function] [call site] 00360
12 OPENSSL_free [function] [call site] 00361
10 asn1_get_field_ptr [function] [call site] 00362
10 ASN1_template_free [function] [call site] 00363
10 OPENSSL_free [function] [call site] 00364
3 X509_ALGOR_free [function] [call site] 00365
4 ASN1_item_free [function] [call site] 00366
3 ASN1_BIT_STRING_free [function] [call site] 00367
4 ASN1_STRING_free [function] [call site] 00368
3 ASN1_OCTET_STRING_free [function] [call site] 00369
4 ASN1_STRING_free [function] [call site] 00370
3 AUTHORITY_KEYID_free [function] [call site] 00371
4 ASN1_item_free [function] [call site] 00372
3 CRL_DIST_POINTS_free [function] [call site] 00373
4 ASN1_item_free [function] [call site] 00374
3 GENERAL_NAMES_free [function] [call site] 00375
4 ASN1_item_free [function] [call site] 00376
3 NAME_CONSTRAINTS_free [function] [call site] 00377
4 ASN1_item_free [function] [call site] 00378
3 X509_CERT_AUX_free [function] [call site] 00379
4 ASN1_item_free [function] [call site] 00380
3 CRYPTO_MUTEX_cleanup [function] [call site] 00381
4 pthread_rwlock_destroy [call site] 00382
3 OPENSSL_free [function] [call site] 00383
1 EVP_PKEY_free [function] [call site] 00384