Fuzz introspector: privkey_fuzz
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
419 419 1 :

['pkcs11_key_free']

419 881 sshkey_free_contents call site: 00109 /src/openssh/sshkey.c:782
209 209 1 :

['ssh_digest_buffer']

209 607 webauthn_check_prepare_hash call site: 00000 /src/openssh/ssh-ecdsa-sk.c:217
158 158 5 :

['do_log', 'getpid', 'strrchr', 'strlcpy', 'match_pattern_list']

158 158 sshlogv call site: 00016 /src/openssh/log.c:462
82 243 4 :

['malloc', 'xmss_sign_open', 'sshkey_xmss_params', 'sshlog']

82 452 ssh_xmss_verify call site: 00000 /src/openssh/ssh-xmss.c:314
13 13 1 :

['ssh_rsa_hash_id_from_keyname']

23 674 ssh_rsa_verify call site: 00000 /src/openssh/ssh-rsa.c:528
2 2 1 :

['EVP_PKEY_get1_RSA']

30 1010 ssh_rsa_deserialize_private call site: 00000 /src/openssh/ssh-rsa.c:243
2 2 1 :

['BN_clear_free']

2 2 sshbuf_get_bignum2 call site: 00000 /src/openssh/sshbuf-getput-crypto.c:48
2 2 1 :

['munmap']

2 2 sshkey_prekey_free call site: 00187 /src/openssh/sshkey.c:770
0 717 1 :

['sshbuf_put_u8']

0 722 sshbuf_dtob64 call site: 00000 /src/openssh/sshbuf-misc.c:147
0 440 1 :

['sshkey_free']

0 440 sshkey_new call site: 00097 /src/openssh/sshkey.c:723
0 440 1 :

['cert_free']

0 440 cert_new call site: 00099 /src/openssh/sshkey.c:688
0 199 1 :

['sshbuf_free']

0 199 sshbuf_froms call site: 00070 /src/openssh/sshbuf-getput-basic.c:561

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sshbuf_from [function] [call site] 00001
2 calloc [call site] 00002
1 sshkey_private_deserialize [function] [call site] 00003
2 sshbuf_get_cstring [function] [call site] 00004
3 sshbuf_peek_string_direct [function] [call site] 00005
4 sshbuf_ptr [function] [call site] 00006
5 sshbuf_check_sanity [function] [call site] 00007
6 ssh_signal [function] [call site] 00008
7 memset [call site] 00009
7 sigfillset [call site] 00010
7 sigaction [call site] 00011
7 strsignal [call site] 00012
7 __errno_location [call site] 00013
7 strerror [call site] 00014
7 sshlog [function] [call site] 00015
8 sshlogv [function] [call site] 00016
9 strrchr [call site] 00017
9 getpid [call site] 00018
9 snprintf [call site] 00019
9 match_pattern_list [function] [call site] 00020
10 strlen [call site] 00021
10 __ctype_b_loc [call site] 00022
10 tolower [call site] 00023
10 match_pattern [function] [call site] 00024
11 match_pattern [function] [call site] 00025
12 match_pattern [function] [call site] 00026
9 snprintf [call site] 00027
9 snprintf [call site] 00028
9 do_log [function] [call site] 00030
10 __errno_location [call site] 00031
10 snprintf [call site] 00032
10 vsnprintf [call site] 00033
10 vsnprintf [call site] 00034
10 snprintf [call site] 00035
10 strnvis [function] [call site] 00037
11 __ctype_b_loc [call site] 00038
11 vis [function] [call site] 00039
12 __ctype_b_loc [call site] 00040
12 __ctype_b_loc [call site] 00041
10 snprintf [call site] 00043
10 strlen [call site] 00044
10 write [call site] 00045
10 openlog [call site] 00046
10 syslog [call site] 00047
10 closelog [call site] 00048
10 __errno_location [call site] 00049
6 raise [call site] 00050
4 sshbuf_len [function] [call site] 00051
5 sshbuf_check_sanity [function] [call site] 00052
4 sshbuf_len [function] [call site] 00053
3 memchr [call site] 00054
3 sshbuf_get_string_direct [function] [call site] 00055
4 sshbuf_peek_string_direct [function] [call site] 00056
4 sshbuf_consume [function] [call site] 00057
5 sshbuf_check_sanity [function] [call site] 00058
5 sshbuf_len [function] [call site] 00059
2 sshkey_type_from_name [function] [call site] 00060
3 type_from_name [function] [call site] 00061
4 strcmp [call site] 00062
4 strcasecmp [call site] 00063
2 sshkey_type_is_cert [function] [call site] 00064
3 sshkey_impl_from_type [function] [call site] 00065
2 sshkey_froms [function] [call site] 00066
3 sshbuf_froms [function] [call site] 00067
4 sshbuf_peek_string_direct [function] [call site] 00068
4 sshbuf_from [function] [call site] 00069
4 sshbuf_consume [function] [call site] 00070
4 sshbuf_set_parent [function] [call site] 00071
5 sshbuf_check_sanity [function] [call site] 00072
5 sshbuf_check_sanity [function] [call site] 00073
4 sshbuf_free [function] [call site] 00074
5 sshbuf_check_sanity [function] [call site] 00075
5 sshbuf_free [function] [call site] 00076
6 freezero [function] [call site] 00077
7 explicit_bzero [call site] 00078
3 sshkey_from_blob_internal [function] [call site] 00080
4 sshbuf_fromb [function] [call site] 00081
5 sshbuf_check_sanity [function] [call site] 00082
5 sshbuf_ptr [function] [call site] 00083
5 sshbuf_len [function] [call site] 00084
5 sshbuf_from [function] [call site] 00085
5 sshbuf_set_parent [function] [call site] 00086
5 sshbuf_free [function] [call site] 00087
4 sshbuf_get_cstring [function] [call site] 00088
4 sshkey_type_from_name [function] [call site] 00089
4 sshkey_type_is_cert [function] [call site] 00090
4 sshkey_impl_from_type [function] [call site] 00091
4 sshkey_new [function] [call site] 00092
5 sshkey_impl_from_type [function] [call site] 00093
5 calloc [call site] 00094
5 sshkey_is_cert [function] [call site] 00095
6 sshkey_type_is_cert [function] [call site] 00096
5 cert_new [function] [call site] 00097
6 calloc [call site] 00098
6 sshbuf_new [function] [call site] 00099
7 calloc [call site] 00100
7 calloc [call site] 00101
6 sshbuf_new [function] [call site] 00102
6 sshbuf_new [function] [call site] 00103
6 cert_free [function] [call site] 00104
7 sshbuf_free [function] [call site] 00105
7 sshbuf_free [function] [call site] 00106
7 sshbuf_free [function] [call site] 00107
7 sshkey_free [function] [call site] 00108
8 sshkey_free_contents [function] [call site] 00109
9 pkcs11_key_free [function] [call site] 00110
10 sshkey_type [function] [call site] 00111
11 sshkey_impl_from_key [function] [call site] 00112
12 sshkey_impl_from_type_nid [function] [call site] 00113
10 helper_by_key [function] [call site] 00115
11 sshbuf_new [function] [call site] 00116
11 sshfatal [function] [call site] 00117
12 cleanup_exit [function] [call site] 00119
13 _exit [call site] 00120
11 sshkey_putb [function] [call site] 00121
12 to_blob_buf [function] [call site] 00122
13 sshkey_type_plain [function] [call site] 00123
13 sshkey_type_is_cert [function] [call site] 00124
13 sshbuf_len [function] [call site] 00125
13 sshbuf_putb [function] [call site] 00126
14 sshbuf_ptr [function] [call site] 00127
14 sshbuf_len [function] [call site] 00128
14 sshbuf_put [function] [call site] 00129
15 sshbuf_reserve [function] [call site] 00130
16 sshbuf_allocate [function] [call site] 00131
17 sshbuf_check_reserve [function] [call site] 00132
18 sshbuf_check_sanity [function] [call site] 00133
17 sshbuf_maybe_pack [function] [call site] 00134
17 recallocarray [function] [call site] 00135
18 calloc [call site] 00136
18 __errno_location [call site] 00137
18 __errno_location [call site] 00138
18 getpagesize [call site] 00139
18 memset [call site] 00140
18 memset [call site] 00141
18 explicit_bzero [call site] 00142
17 sshbuf_check_reserve [function] [call site] 00143
13 sshkey_impl_from_type [function] [call site] 00144
13 sshkey_ssh_name_from_type_nid [function] [call site] 00145
14 sshkey_impl_from_type_nid [function] [call site] 00146
13 sshbuf_put_cstring [function] [call site] 00147
14 strlen [call site] 00148
14 sshbuf_put_string [function] [call site] 00149
15 sshbuf_reserve [function] [call site] 00150
11 ssh_err [function] [call site] 00151
12 __errno_location [call site] 00152
12 strerror [call site] 00153
11 sshfatal [function] [call site] 00154
11 sshbuf_equals [function] [call site] 00155
12 sshbuf_ptr [function] [call site] 00156
12 sshbuf_len [function] [call site] 00157
12 sshbuf_len [function] [call site] 00158
12 sshbuf_ptr [function] [call site] 00159
12 sshbuf_len [function] [call site] 00160
12 memcmp [call site] 00161
11 sshbuf_free [function] [call site] 00162
11 sshbuf_free [function] [call site] 00163
10 sshkey_type [function] [call site] 00164
10 sshfatal [function] [call site] 00165
10 sshbuf_new [function] [call site] 00166
10 sshfatal [function] [call site] 00167
10 sshkey_putb [function] [call site] 00168
10 sshfatal [function] [call site] 00170
10 sshbuf_equals [function] [call site] 00171
10 sshfatal [function] [call site] 00172
10 xrecallocarray [function] [call site] 00173
11 recallocarray [function] [call site] 00174
11 sshfatal [function] [call site] 00175
10 helper_terminate [function] [call site] 00176
11 sshfatal [function] [call site] 00177
11 close [call site] 00179
11 sshfatal [function] [call site] 00180
11 xrecallocarray [function] [call site] 00181
9 sshkey_impl_from_type [function] [call site] 00182
9 sshkey_is_cert [function] [call site] 00183
9 sshkey_prekey_free [function] [call site] 00187
10 munmap [call site] 00188
5 sshkey_free [function] [call site] 00190
4 sshkey_type_is_cert [function] [call site] 00191
4 sshbuf_get_string_direct [function] [call site] 00192
4 sshkey_is_cert [function] [call site] 00193
4 cert_parse [function] [call site] 00194
5 sshbuf_putb [function] [call site] 00195
5 sshbuf_get_u64 [function] [call site] 00196
6 sshbuf_ptr [function] [call site] 00197
6 sshbuf_consume [function] [call site] 00198
5 sshbuf_get_u32 [function] [call site] 00199
6 sshbuf_ptr [function] [call site] 00200
6 sshbuf_consume [function] [call site] 00201
5 sshbuf_get_cstring [function] [call site] 00202
5 sshbuf_froms [function] [call site] 00203
5 sshbuf_get_u64 [function] [call site] 00204
5 sshbuf_get_u64 [function] [call site] 00205
5 sshbuf_froms [function] [call site] 00206
5 sshbuf_froms [function] [call site] 00207
5 sshbuf_get_string_direct [function] [call site] 00208
5 sshbuf_froms [function] [call site] 00209
5 sshbuf_len [function] [call site] 00210
5 sshbuf_get_string [function] [call site] 00211
6 sshbuf_get_string_direct [function] [call site] 00212
5 sshbuf_len [function] [call site] 00213
5 sshbuf_get_cstring [function] [call site] 00214
5 recallocarray [function] [call site] 00215
5 sshbuf_putb [function] [call site] 00216
5 sshbuf_putb [function] [call site] 00217
5 sshbuf_len [function] [call site] 00218
5 sshbuf_get_string_direct [function] [call site] 00219
5 sshbuf_get_string_direct [function] [call site] 00220
5 sshbuf_reset [function] [call site] 00221
6 sshbuf_check_sanity [function] [call site] 00222
6 recallocarray [function] [call site] 00223
6 explicit_bzero [call site] 00224
5 sshbuf_len [function] [call site] 00225
5 sshbuf_get_string_direct [function] [call site] 00226
5 sshbuf_get_string_direct [function] [call site] 00227
5 sshbuf_reset [function] [call site] 00228
5 sshkey_from_blob_internal [function] [call site] 00229
6 sshbuf_len [function] [call site] 00230
6 sshbuf_free [function] [call site] 00231
6 sshkey_free [function] [call site] 00232
5 sshkey_type_is_valid_ca [function] [call site] 00233
6 sshkey_impl_from_type [function] [call site] 00234
5 sshbuf_ptr [function] [call site] 00235
5 sshkey_verify [function] [call site] 00236
6 sshkey_impl_from_key [function] [call site] 00237
5 sshkey_get_sigtype [function] [call site] 00238
6 sshbuf_from [function] [call site] 00239
6 sshbuf_get_cstring [function] [call site] 00240
6 sshbuf_free [function] [call site] 00241
5 sshbuf_free [function] [call site] 00242
5 sshbuf_free [function] [call site] 00243
5 sshbuf_free [function] [call site] 00244
5 sshbuf_free [function] [call site] 00245
3 sshbuf_free [function] [call site] 00246
2 sshkey_ecdsa_nid_from_name [function] [call site] 00247
3 key_type_is_ecdsa_variant [function] [call site] 00248
3 strcmp [call site] 00249
2 sshkey_new [function] [call site] 00250
2 sshkey_impl_from_type [function] [call site] 00251
2 strcmp [call site] 00252
2 memcmp [call site] 00253
2 sshkey_free [function] [call site] 00254
1 sshkey_free [function] [call site] 00255
1 sshbuf_free [function] [call site] 00256