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_from_montgomery_in_place', 'bn_mul_small', 'OPENSSL_cleanse', 'bn_sqr_small']

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

['ERR_add_error_dataf', 'ERR_put_error']

70 128 EVP_PKEY_set_type call site: 00000 /src/boringssl/crypto/evp/evp.c:343
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_len', 'OPENSSL_gmtime_adj', 'cbs_get_two_digits']

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

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

32 32 CRYPTO_free_ex_data call site: 00300 /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_STATIC_MUTEX_unlock_read', 'lh_ASN1_OBJECT_retrieve', 'CRYPTO_STATIC_MUTEX_lock_read']

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

['sk_ASN1_VALUE_pop', 'sk_ASN1_VALUE_num.4928']

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 sk_new_null [function] [call site] 00002
3 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 __assert_fail [call site] 00129
5 OPENSSL_free [function] [call site] 00130
3 CBB_cleanup [function] [call site] 00131
2 ERR_put_error [function] [call site] 00133
2 OPENSSL_memset [function] [call site] 00134
2 CBS_get_asn1 [function] [call site] 00135
3 cbs_get_asn1 [function] [call site] 00136
4 CBS_get_any_asn1_element [function] [call site] 00137
4 __assert_fail [call site] 00139
2 CBS_get_asn1_uint64 [function] [call site] 00141
3 CBS_get_asn1 [function] [call site] 00142
3 CBS_is_unsigned_asn1_integer [function] [call site] 00143
4 CBS_is_valid_asn1_integer [function] [call site] 00144
5 CBS_get_u8 [function] [call site] 00145
5 CBS_get_u8 [function] [call site] 00146
2 ERR_put_error [function] [call site] 00149
2 ERR_put_error [function] [call site] 00150
2 CBS_get_asn1 [function] [call site] 00151
2 ERR_put_error [function] [call site] 00152
2 ERR_put_error [function] [call site] 00154
2 CBS_get_asn1 [function] [call site] 00155
2 ERR_put_error [function] [call site] 00156
2 CBS_get_asn1 [function] [call site] 00157
2 CBS_get_asn1 [function] [call site] 00158
2 ERR_put_error [function] [call site] 00159
2 CBS_mem_equal [function] [call site] 00160
3 CRYPTO_memcmp [function] [call site] 00161
2 ERR_put_error [function] [call site] 00162
2 CBS_get_asn1 [function] [call site] 00163
2 ERR_put_error [function] [call site] 00164
2 strlen [call site] 00165
2 CBS_get_asn1 [function] [call site] 00166
2 ERR_put_error [function] [call site] 00167
2 EVP_parse_digest_algorithm [function] [call site] 00168
3 CBS_get_asn1 [function] [call site] 00169
3 CBS_get_asn1 [function] [call site] 00170
3 ERR_put_error [function] [call site] 00171
3 cbs_to_md [function] [call site] 00172
4 OPENSSL_memcmp [function] [call site] 00175
5 memcmp [call site] 00176
4 EVP_get_digestbynid [function] [call site] 00177
3 ERR_put_error [function] [call site] 00178
3 CBS_get_asn1 [function] [call site] 00179
3 ERR_put_error [function] [call site] 00182
2 CBS_get_asn1 [function] [call site] 00183
2 CBS_get_asn1 [function] [call site] 00184
2 ERR_put_error [function] [call site] 00185
2 CBS_get_asn1_uint64 [function] [call site] 00186
2 pkcs12_iterations_acceptable [function] [call site] 00187
2 ERR_put_error [function] [call site] 00188
2 pkcs12_check_mac [function] [call site] 00189
3 EVP_MD_size [function] [call site] 00191
3 pkcs12_key_gen [function] [call site] 00192
4 ERR_put_error [function] [call site] 00193
4 EVP_MD_CTX_init [function] [call site] 00194
5 OPENSSL_memset [function] [call site] 00195
4 pkcs12_encode_password [function] [call site] 00196
5 cbs_get_utf8 [function] [call site] 00199
6 CBS_get_u8 [function] [call site] 00200
6 is_valid_code_point [function] [call site] 00201
5 cbb_add_ucs2_be [function] [call site] 00202
6 is_valid_code_point [function] [call site] 00203
6 CBB_add_u16 [function] [call site] 00204
7 cbb_add_u [function] [call site] 00205
5 ERR_put_error [function] [call site] 00206
5 cbb_add_ucs2_be [function] [call site] 00207
5 CBB_finish [function] [call site] 00208
5 CBB_cleanup [function] [call site] 00209
4 EVP_MD_block_size [function] [call site] 00210
4 OPENSSL_memset [function] [call site] 00211
4 ERR_put_error [function] [call site] 00212
4 ERR_put_error [function] [call site] 00213
4 OPENSSL_malloc [function] [call site] 00214
4 EVP_DigestInit_ex [function] [call site] 00215
5 __assert_fail [call site] 00216
5 OPENSSL_malloc [function] [call site] 00217
5 OPENSSL_free [function] [call site] 00218
5 __assert_fail [call site] 00219
4 EVP_DigestUpdate [function] [call site] 00220
4 EVP_DigestUpdate [function] [call site] 00221
4 EVP_DigestFinal_ex [function] [call site] 00222
5 __assert_fail [call site] 00223
5 OPENSSL_cleanse [function] [call site] 00224
4 EVP_DigestInit_ex [function] [call site] 00225
4 EVP_DigestUpdate [function] [call site] 00226
4 EVP_DigestFinal_ex [function] [call site] 00227
4 OPENSSL_memcpy [function] [call site] 00228
4 __assert_fail [call site] 00229
4 OPENSSL_free [function] [call site] 00230
4 OPENSSL_free [function] [call site] 00231
4 EVP_MD_CTX_cleanup [function] [call site] 00232
5 OPENSSL_free [function] [call site] 00233
5 __assert_fail [call site] 00234
5 EVP_MD_CTX_init [function] [call site] 00235
3 EVP_MD_size [function] [call site] 00236
3 HMAC [function] [call site] 00239
4 HMAC_CTX_init [function] [call site] 00240
5 EVP_MD_CTX_init [function] [call site] 00241
5 EVP_MD_CTX_init [function] [call site] 00242
5 EVP_MD_CTX_init [function] [call site] 00243
4 HMAC_Init_ex [function] [call site] 00244
5 EVP_MD_block_size [function] [call site] 00245
5 EVP_MD_size [function] [call site] 00246
5 __assert_fail [call site] 00247
5 EVP_DigestInit_ex [function] [call site] 00248
5 EVP_DigestUpdate [function] [call site] 00249
5 EVP_DigestFinal_ex [function] [call site] 00250
5 OPENSSL_memcpy [function] [call site] 00251
5 OPENSSL_memset [function] [call site] 00252
5 EVP_DigestInit_ex [function] [call site] 00253
5 EVP_DigestUpdate [function] [call site] 00254
5 EVP_MD_CTX_copy_ex [function] [call site] 00255
6 ERR_put_error [function] [call site] 00256
6 __assert_fail [call site] 00257
6 OPENSSL_malloc [function] [call site] 00258
6 EVP_MD_CTX_cleanup [function] [call site] 00259
6 OPENSSL_memcpy [function] [call site] 00260
6 __assert_fail [call site] 00261
4 HMAC_Update [function] [call site] 00262
5 EVP_DigestUpdate [function] [call site] 00263
4 HMAC_Final [function] [call site] 00264
5 EVP_DigestFinal_ex [function] [call site] 00265
5 EVP_MD_CTX_copy_ex [function] [call site] 00266
5 EVP_DigestUpdate [function] [call site] 00267
5 EVP_DigestFinal_ex [function] [call site] 00268
4 HMAC_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 EVP_MD_CTX_cleanup [function] [call site] 00272
5 OPENSSL_cleanse [function] [call site] 00273
3 CBS_mem_equal [function] [call site] 00274
3 OPENSSL_cleanse [function] [call site] 00275
2 pkcs12_check_mac [function] [call site] 00276
2 ERR_put_error [function] [call site] 00277
2 PKCS12_handle_sequence [function] [call site] 00278
3 CBS_asn1_ber_to_der [function] [call site] 00279
3 ERR_put_error [function] [call site] 00280
3 CBS_get_asn1 [function] [call site] 00281
3 ERR_put_error [function] [call site] 00283
3 CBS_get_asn1 [function] [call site] 00285
3 ERR_put_error [function] [call site] 00286
3 OPENSSL_free [function] [call site] 00287
2 OPENSSL_free [function] [call site] 00288
2 EVP_PKEY_free [function] [call site] 00289
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00290
4 CRYPTO_atomic_load_u32 [function] [call site] 00291
4 abort [call site] 00292
4 CRYPTO_atomic_compare_exchange_weak_u32 [function] [call site] 00293
3 OPENSSL_free [function] [call site] 00295
2 sk_X509_num [function] [call site] 00296
2 sk_X509_pop [function] [call site] 00297
2 X509_free [function] [call site] 00298
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00299
3 CRYPTO_free_ex_data [function] [call site] 00300
4 CRYPTO_atomic_load_u32 [function] [call site] 00301
4 __assert_fail [call site] 00302
4 sk_void_free [function] [call site] 00303
5 sk_free [function] [call site] 00304
6 OPENSSL_free [function] [call site] 00305
6 OPENSSL_free [function] [call site] 00306
4 CRYPTO_get_ex_data [function] [call site] 00307
5 sk_void_num [function] [call site] 00308
5 sk_void_value [function] [call site] 00309
3 X509_CINF_free [function] [call site] 00310
4 ASN1_item_free [function] [call site] 00311
5 ASN1_item_ex_free [function] [call site] 00312
6 ASN1_template_free [function] [call site] 00313
7 sk_ASN1_VALUE_num [function] [call site] 00314
7 sk_ASN1_VALUE_free [function] [call site] 00316
7 sk_ASN1_VALUE_value [function] [call site] 00317
7 ASN1_item_ex_free [function] [call site] 00318
8 ASN1_primitive_free [function] [call site] 00319
9 ASN1_OBJECT_free [function] [call site] 00320
10 OPENSSL_free [function] [call site] 00321
10 OPENSSL_free [function] [call site] 00322
10 OPENSSL_free [function] [call site] 00323
9 asn1_type_cleanup [function] [call site] 00324
10 ASN1_OBJECT_free [function] [call site] 00325
10 ASN1_STRING_free [function] [call site] 00326
11 OPENSSL_free [function] [call site] 00327
11 OPENSSL_free [function] [call site] 00328
9 OPENSSL_free [function] [call site] 00329
9 ASN1_STRING_free [function] [call site] 00330
8 ASN1_primitive_free [function] [call site] 00331
8 asn1_get_choice_selector [function] [call site] 00332
8 asn1_get_field_ptr [function] [call site] 00333
8 ASN1_template_free [function] [call site] 00334
9 ASN1_item_ex_free [function] [call site] 00335
10 OPENSSL_free [function] [call site] 00336
10 asn1_refcount_dec_and_test_zero [function] [call site] 00337
11 asn1_get_references [function] [call site] 00338
11 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00339
10 asn1_enc_free [function] [call site] 00340
11 asn1_get_enc_ptr [function] [call site] 00341
12 __assert_fail [call site] 00342
11 asn1_encoding_clear [function] [call site] 00343
12 CRYPTO_BUFFER_free [function] [call site] 00344
13 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00345
13 crypto_buffer_free_object [function] [call site] 00346
14 OPENSSL_free [function] [call site] 00347
14 OPENSSL_free [function] [call site] 00348
13 CRYPTO_MUTEX_lock_write [function] [call site] 00349
14 pthread_rwlock_wrlock [call site] 00350
14 abort [call site] 00351
13 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00352
13 CRYPTO_MUTEX_unlock_write [function] [call site] 00353
14 pthread_rwlock_unlock [call site] 00354
14 abort [call site] 00355
13 lh_CRYPTO_BUFFER_retrieve [function] [call site] 00356
14 OPENSSL_lh_retrieve [function] [call site] 00357
15 get_next_ptr_and_hash [function] [call site] 00358
14 lh_CRYPTO_BUFFER_call_hash_func [function] [call site] 00359
13 lh_CRYPTO_BUFFER_delete [function] [call site] 00360
13 CRYPTO_MUTEX_unlock_write [function] [call site] 00361
13 crypto_buffer_free_object [function] [call site] 00362
12 OPENSSL_free [function] [call site] 00363
10 asn1_get_field_ptr [function] [call site] 00364
10 ASN1_template_free [function] [call site] 00365
10 OPENSSL_free [function] [call site] 00366
3 X509_ALGOR_free [function] [call site] 00367
4 ASN1_item_free [function] [call site] 00368
3 ASN1_BIT_STRING_free [function] [call site] 00369
4 ASN1_STRING_free [function] [call site] 00370
3 ASN1_OCTET_STRING_free [function] [call site] 00371
4 ASN1_STRING_free [function] [call site] 00372
3 AUTHORITY_KEYID_free [function] [call site] 00373
4 ASN1_item_free [function] [call site] 00374
3 CRL_DIST_POINTS_free [function] [call site] 00375
4 ASN1_item_free [function] [call site] 00376
3 GENERAL_NAMES_free [function] [call site] 00377
4 ASN1_item_free [function] [call site] 00378
3 NAME_CONSTRAINTS_free [function] [call site] 00379
4 ASN1_item_free [function] [call site] 00380
3 X509_CERT_AUX_free [function] [call site] 00381
4 ASN1_item_free [function] [call site] 00382
3 CRYPTO_MUTEX_cleanup [function] [call site] 00383
3 OPENSSL_free [function] [call site] 00384
1 EVP_PKEY_free [function] [call site] 00385