Fuzz introspector: spki
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
1574 3276 14 :

['bn_div_consttime', 'bn_usub_consttime', 'BN_free', 'ERR_put_error', 'BN_num_bits', 'BN_init', 'BN_CTX_new', 'BN_cmp', 'BN_is_one', 'BN_value_one', 'bn_mul_consttime', 'BN_is_negative', 'BN_CTX_free', 'check_mod_inverse']

1574 3276 RSA_check_key call site: 00000 /src/boringssl/crypto/fipsmodule/rsa/rsa.c:816
185 331 4 :

['bn_mul_part_recursive', 'BN_num_bits_word', 'BN_CTX_get', 'bn_mul_recursive']

185 891 bn_mul_impl call site: 00000 /src/boringssl/crypto/fipsmodule/bn/mul.c:455
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
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: 00066 /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
28 106 3 :

['ec_felem_equal', 'BN_cmp', 'ec_GFp_simple_points_equal']

28 106 EC_GROUP_cmp call site: 00000 /src/boringssl/crypto/fipsmodule/ec/ec.c:587
22 22 2 :

['handle_cpu_env', 'strchr']

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

['bn_mul_comba8']

2 187 bn_mul_impl call site: 00000 /src/boringssl/crypto/fipsmodule/bn/mul.c:443
2 2 1 :

['bn_sqr_comba8']

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

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 EVP_parse_public_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 [function] [call site] 00025
2 CBS_get_asn1 [function] [call site] 00026
2 ERR_put_error [function] [call site] 00028
3 err_get_state [function] [call site] 00029
4 CRYPTO_get_thread_local [function] [call site] 00030
5 CRYPTO_once [function] [call site] 00031
6 pthread_once [call site] 00032
6 abort [call site] 00033
5 pthread_getspecific [call site] 00034
4 OPENSSL_memset [function] [call site] 00035
4 CRYPTO_set_thread_local [function] [call site] 00036
5 CRYPTO_once [function] [call site] 00037
5 pthread_getspecific [call site] 00038
5 OPENSSL_memset [function] [call site] 00039
5 pthread_setspecific [call site] 00040
5 pthread_mutex_lock [call site] 00041
5 pthread_mutex_unlock [call site] 00042
4 err_state_free [function] [call site] 00043
5 err_clear [function] [call site] 00044
6 OPENSSL_memset [function] [call site] 00045
3 __errno_location [call site] 00046
3 err_clear [function] [call site] 00047
2 parse_key_type [function] [call site] 00048
3 CBS_get_asn1 [function] [call site] 00049
3 OPENSSL_memcmp [function] [call site] 00052
4 memcmp [call site] 00053
2 ERR_put_error [function] [call site] 00054
2 CBS_get_u8 [function] [call site] 00055
2 ERR_put_error [function] [call site] 00056
2 EVP_PKEY_new [function] [call site] 00057
3 OPENSSL_malloc [function] [call site] 00058
4 __assert_fail [call site] 00059
4 __assert_fail [call site] 00060
4 OPENSSL_memory_alloc [call site] 00061
4 ERR_put_error [function] [call site] 00062
3 OPENSSL_memset [function] [call site] 00063
2 EVP_PKEY_set_type [function] [call site] 00064
3 evp_pkey_asn1_find [function] [call site] 00066
3 ERR_put_error [function] [call site] 00067
3 ERR_add_error_dataf [function] [call site] 00068
4 OPENSSL_vasprintf_internal [function] [call site] 00069
5 vsnprintf [call site] 00070
5 vsnprintf [call site] 00071
5 __errno_location [call site] 00072
4 err_set_error_data [function] [call site] 00073
5 err_get_state [function] [call site] 00074
2 ERR_put_error [function] [call site] 00075
2 EVP_PKEY_free [function] [call site] 00076
3 CRYPTO_refcount_dec_and_test_zero [function] [call site] 00077
4 CRYPTO_atomic_load_u32 [function] [call site] 00078
4 abort [call site] 00079
4 CRYPTO_atomic_compare_exchange_weak_u32 [function] [call site] 00080
3 OPENSSL_free [function] [call site] 00082
4 OPENSSL_memory_free [call site] 00083
4 OPENSSL_cleanse [function] [call site] 00084
5 OPENSSL_memset [function] [call site] 00085
4 sdallocx [call site] 00086
1 ERR_clear_error [function] [call site] 00087
2 err_get_state [function] [call site] 00088
2 err_clear [function] [call site] 00089
1 CBB_init [function] [call site] 00090
2 CBB_zero [function] [call site] 00091
3 OPENSSL_memset [function] [call site] 00092
2 OPENSSL_malloc [function] [call site] 00093
1 EVP_marshal_public_key [function] [call site] 00095
2 ERR_put_error [function] [call site] 00096
1 CBB_finish [function] [call site] 00097
2 ERR_put_error [function] [call site] 00098
2 CBB_flush [function] [call site] 00099
3 cbb_get_base [function] [call site] 00100
3 __assert_fail [call site] 00101
3 __assert_fail [call site] 00102
3 CBB_flush [function] [call site] 00103
4 __assert_fail [call site] 00104
4 ERR_put_error [function] [call site] 00105
4 cbb_buffer_add [function] [call site] 00106
5 cbb_buffer_reserve [function] [call site] 00107
6 OPENSSL_realloc [function] [call site] 00108
7 OPENSSL_malloc [function] [call site] 00109
7 OPENSSL_memory_get_size [call site] 00110
7 OPENSSL_malloc [function] [call site] 00111
7 OPENSSL_free [function] [call site] 00112
6 ERR_put_error [function] [call site] 00113
4 OPENSSL_memmove [function] [call site] 00114
4 ERR_put_error [function] [call site] 00115
2 CBB_cleanup [function] [call site] 00116
3 __assert_fail [call site] 00117
3 OPENSSL_free [function] [call site] 00118
1 OPENSSL_free [function] [call site] 00119
1 CBB_cleanup [function] [call site] 00120
1 EVP_PKEY_free [function] [call site] 00121
1 ERR_clear_error [function] [call site] 00122