Fuzz introspector: pkcs8
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
140 356 2 :

['bn_mod_lshift1_consttime', 'BN_sub_word']

140 3069 BN_mod_sqrt call site: 00000 /src/boringssl/crypto/fipsmodule/bn/sqrt.c:155
95 101 3 :

['BN_one', 'BN_zero', 'BN_abs_is_word']

95 101 BN_mod_exp_mont call site: 00000 /src/boringssl/crypto/fipsmodule/bn/exponentiation.c:604
95 101 3 :

['BN_one', 'BN_zero', 'BN_abs_is_word']

95 101 BN_mod_exp_mont_consttime call site: 00000 /src/boringssl/crypto/fipsmodule/bn/exponentiation.c:910
84 176 4 :

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

86 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: 00071 /src/boringssl/crypto/evp/evp.c:343
63 237 2 :

['bn_sqr_recursive', 'bn_wexpand']

63 369 bn_sqr_consttime call site: 00000 /src/boringssl/crypto/fipsmodule/bn/mul.c:694
32 32 3 :

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

32 32 CRYPTO_free_ex_data call site: 00000 /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
4 74 2 :

['OPENSSL_malloc', 'align_pointer']

42 3160 BN_mod_exp_mont_consttime call site: 00000 /src/boringssl/crypto/fipsmodule/bn/exponentiation.c:989
2 2 1 :

['bn_sqr_comba8']

2 100 bn_sqr_consttime call site: 00000 /src/boringssl/crypto/fipsmodule/bn/mul.c:691
2 2 1 :

['OPENSSL_memory_get_size']

2 85 OPENSSL_realloc call site: 00111 /src/boringssl/crypto/mem.c:306
2 2 1 :

['OPENSSL_memory_alloc']

2 60 OPENSSL_malloc call site: 00063 /src/boringssl/crypto/mem.c:233

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 EVP_parse_private_key [function] [call site] 00002
2 CBS_get_asn1 [function] [call site] 00003
3 cbs_get_asn1 [function] [call site] 00004
4 CBS_get_any_asn1_element [function] [call site] 00005
5 cbs_get_any_asn1_element [function] [call site] 00006
6 __assert_fail [call site] 00007
6 __assert_fail [call site] 00008
6 parse_asn1_tag [function] [call site] 00009
7 parse_base128_integer [function] [call site] 00012
8 CBS_get_u8 [function] [call site] 00013
6 CBS_get_u8 [function] [call site] 00014
6 CBS_get_bytes [function] [call site] 00016
6 CBS_get_bytes [function] [call site] 00021
4 __assert_fail [call site] 00024
2 CBS_get_asn1_uint64 [function] [call site] 00025
3 CBS_get_asn1 [function] [call site] 00026
3 CBS_is_unsigned_asn1_integer [function] [call site] 00027
4 CBS_is_valid_asn1_integer [function] [call site] 00028
5 CBS_get_u8 [function] [call site] 00029
5 CBS_get_u8 [function] [call site] 00030
2 CBS_get_asn1 [function] [call site] 00033
2 CBS_get_asn1 [function] [call site] 00034
2 ERR_put_error [function] [call site] 00035
3 err_get_state [function] [call site] 00036
4 CRYPTO_get_thread_local [function] [call site] 00037
5 CRYPTO_once [function] [call site] 00038
6 pthread_once [call site] 00039
6 abort [call site] 00040
5 pthread_getspecific [call site] 00041
4 OPENSSL_memset [function] [call site] 00042
4 CRYPTO_set_thread_local [function] [call site] 00043
5 CRYPTO_once [function] [call site] 00044
5 pthread_getspecific [call site] 00045
5 OPENSSL_memset [function] [call site] 00046
5 pthread_setspecific [call site] 00047
5 pthread_mutex_lock [call site] 00048
5 pthread_mutex_unlock [call site] 00049
4 err_state_free [function] [call site] 00050
5 err_clear [function] [call site] 00051
6 OPENSSL_memset [function] [call site] 00052
3 __errno_location [call site] 00053
3 err_clear [function] [call site] 00054
2 parse_key_type [function] [call site] 00055
3 CBS_get_asn1 [function] [call site] 00056
3 OPENSSL_memcmp [function] [call site] 00059
4 memcmp [call site] 00060
2 ERR_put_error [function] [call site] 00061
2 EVP_PKEY_new [function] [call site] 00062
3 OPENSSL_malloc [function] [call site] 00063
4 __assert_fail [call site] 00064
4 __assert_fail [call site] 00065
4 OPENSSL_memory_alloc [call site] 00066
4 ERR_put_error [function] [call site] 00067
3 OPENSSL_memset [function] [call site] 00068
2 EVP_PKEY_set_type [function] [call site] 00069
3 evp_pkey_asn1_find [function] [call site] 00071
3 ERR_put_error [function] [call site] 00072
3 ERR_add_error_dataf [function] [call site] 00073
4 OPENSSL_vasprintf_internal [function] [call site] 00074
5 vsnprintf [call site] 00075
5 vsnprintf [call site] 00076
5 __errno_location [call site] 00077
4 err_set_error_data [function] [call site] 00078
5 err_get_state [function] [call site] 00079
2 ERR_put_error [function] [call site] 00080
2 EVP_PKEY_free [function] [call site] 00081
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00082
4 CRYPTO_atomic_load_u32 [function] [call site] 00083
4 abort [call site] 00084
4 CRYPTO_atomic_compare_exchange_weak_u32 [function] [call site] 00085
3 OPENSSL_free [function] [call site] 00087
4 OPENSSL_memory_free [call site] 00088
4 OPENSSL_cleanse [function] [call site] 00089
5 OPENSSL_memset [function] [call site] 00090
4 sdallocx [call site] 00091
1 CBB_init [function] [call site] 00092
2 CBB_zero [function] [call site] 00093
3 OPENSSL_memset [function] [call site] 00094
2 OPENSSL_malloc [function] [call site] 00095
1 EVP_marshal_private_key [function] [call site] 00097
2 ERR_put_error [function] [call site] 00098
1 CBB_finish [function] [call site] 00099
2 ERR_put_error [function] [call site] 00100
2 CBB_flush [function] [call site] 00101
3 cbb_get_base [function] [call site] 00102
3 __assert_fail [call site] 00103
3 __assert_fail [call site] 00104
3 CBB_flush [function] [call site] 00105
4 __assert_fail [call site] 00106
4 ERR_put_error [function] [call site] 00107
4 cbb_buffer_add [function] [call site] 00108
5 cbb_buffer_reserve [function] [call site] 00109
6 OPENSSL_realloc [function] [call site] 00110
7 OPENSSL_malloc [function] [call site] 00111
7 OPENSSL_memory_get_size [call site] 00112
7 OPENSSL_malloc [function] [call site] 00113
7 OPENSSL_free [function] [call site] 00114
6 ERR_put_error [function] [call site] 00115
4 OPENSSL_memmove [function] [call site] 00116
4 ERR_put_error [function] [call site] 00117
2 CBB_cleanup [function] [call site] 00118
3 __assert_fail [call site] 00119
3 OPENSSL_free [function] [call site] 00120
1 OPENSSL_free [function] [call site] 00121
1 CBB_cleanup [function] [call site] 00122
1 EVP_PKEY_free [function] [call site] 00123
1 ERR_clear_error [function] [call site] 00124
2 err_get_state [function] [call site] 00125
2 err_clear [function] [call site] 00126