Fuzz introspector: sshsig_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: 00222 /src/openssh/sshkey.c:782
167 167 1 :

['xstrdup']

167 167 tohex call site: 00125 /src/openssh/misc.c:1564
163 163 1 :

['sshfatal']

163 163 xcalloc call site: 00137 /src/openssh/xmalloc.c:56
122 158 5 :

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

122 158 sshlogv call site: 00025 /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
49 49 5 :

['EC_KEY_get0_group', 'EVP_PKEY_set1_EC_KEY', 'EVP_PKEY_new', 'sshkey_ec_validate_public', 'EC_KEY_get0_public_key']

55 55 ssh_ecdsa_deserialize_public call site: 00000 /src/openssh/ssh-ecdsa.c:251
13 13 1 :

['ssh_rsa_hash_id_from_keyname']

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

['openlog', 'closelog', 'exit']

6 6 log_init call site: 00008 /src/openssh/log.c:215
2 219 2 :

['sshbuf_get_string_direct', 'EC_KEY_set_public_key']

6 223 sshbuf_get_eckey call site: 00000 /src/openssh/sshbuf-getput-crypto.c:110
2 2 1 :

['strlen']

2 2 strlcat call site: 00140 /src/openssh/openbsd-compat/strlcat.c:48
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: 00278 /src/openssh/sshkey.c:770

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 sshbuf_from [function] [call site] 00001
2 calloc [call site] 00002
1 strlen [call site] 00003
1 sshbuf_from [function] [call site] 00004
1 log_init [function] [call site] 00005
2 log_change_level [function] [call site] 00006
2 fprintf [call site] 00007
2 exit [call site] 00008
2 fprintf [call site] 00009
2 exit [call site] 00010
2 openlog [call site] 00011
2 closelog [call site] 00012
1 sshsig_verifyb [function] [call site] 00013
2 sshsig_peek_hashalg [function] [call site] 00014
3 sshbuf_fromb [function] [call site] 00015
4 sshbuf_check_sanity [function] [call site] 00016
5 ssh_signal [function] [call site] 00017
6 memset [call site] 00018
6 sigfillset [call site] 00019
6 sigaction [call site] 00020
6 strsignal [call site] 00021
6 __errno_location [call site] 00022
6 strerror [call site] 00023
6 sshlog [function] [call site] 00024
7 sshlogv [function] [call site] 00025
8 strrchr [call site] 00026
8 getpid [call site] 00027
8 snprintf [call site] 00028
8 match_pattern_list [function] [call site] 00029
9 strlen [call site] 00030
9 __ctype_b_loc [call site] 00031
9 tolower [call site] 00032
9 match_pattern [function] [call site] 00033
10 match_pattern [function] [call site] 00034
11 match_pattern [function] [call site] 00035
8 snprintf [call site] 00036
8 snprintf [call site] 00037
8 do_log [function] [call site] 00039
9 __errno_location [call site] 00040
9 snprintf [call site] 00041
9 vsnprintf [call site] 00042
9 vsnprintf [call site] 00043
9 snprintf [call site] 00044
9 strnvis [function] [call site] 00046
10 __ctype_b_loc [call site] 00047
10 vis [function] [call site] 00048
11 __ctype_b_loc [call site] 00049
11 __ctype_b_loc [call site] 00050
9 snprintf [call site] 00052
9 strlen [call site] 00053
9 write [call site] 00054
9 openlog [call site] 00055
9 syslog [call site] 00056
9 closelog [call site] 00057
9 __errno_location [call site] 00058
5 raise [call site] 00059
4 sshbuf_ptr [function] [call site] 00060
5 sshbuf_check_sanity [function] [call site] 00061
4 sshbuf_len [function] [call site] 00062
5 sshbuf_check_sanity [function] [call site] 00063
4 sshbuf_from [function] [call site] 00064
4 sshbuf_set_parent [function] [call site] 00065
5 sshbuf_check_sanity [function] [call site] 00066
5 sshbuf_check_sanity [function] [call site] 00067
4 sshbuf_free [function] [call site] 00068
5 sshbuf_check_sanity [function] [call site] 00069
5 sshbuf_free [function] [call site] 00070
6 freezero [function] [call site] 00071
7 explicit_bzero [call site] 00072
3 sshsig_parse_preamble [function] [call site] 00074
4 sshbuf_cmp [function] [call site] 00075
5 sshbuf_ptr [function] [call site] 00076
5 sshbuf_len [function] [call site] 00077
5 sshbuf_ptr [function] [call site] 00078
5 timingsafe_bcmp [function] [call site] 00079
4 sshbuf_consume [function] [call site] 00080
5 sshbuf_check_sanity [function] [call site] 00081
5 sshbuf_len [function] [call site] 00082
4 sshbuf_get_u32 [function] [call site] 00083
5 sshbuf_ptr [function] [call site] 00084
5 sshbuf_consume [function] [call site] 00085
3 sshbuf_get_string_direct [function] [call site] 00088
4 sshbuf_peek_string_direct [function] [call site] 00089
5 sshbuf_ptr [function] [call site] 00090
5 sshbuf_len [function] [call site] 00091
5 sshbuf_len [function] [call site] 00092
4 sshbuf_consume [function] [call site] 00093
3 sshbuf_get_string_direct [function] [call site] 00094
3 sshbuf_get_string [function] [call site] 00095
4 sshbuf_get_string_direct [function] [call site] 00096
3 sshbuf_get_cstring [function] [call site] 00097
4 sshbuf_peek_string_direct [function] [call site] 00098
4 memchr [call site] 00099
4 sshbuf_get_string_direct [function] [call site] 00100
3 ssh_err [function] [call site] 00101
4 __errno_location [call site] 00102
4 strerror [call site] 00103
3 sshbuf_free [function] [call site] 00105
2 hash_buffer [function] [call site] 00107
3 memset [call site] 00108
3 sshsig_check_hashalg [function] [call site] 00109
4 match_pattern_list [function] [call site] 00110
3 ssh_digest_alg_by_name [function] [call site] 00112
4 strcasecmp [call site] 00113
3 ssh_digest_buffer [function] [call site] 00115
4 sshbuf_ptr [function] [call site] 00116
4 sshbuf_len [function] [call site] 00117
4 ssh_digest_memory [function] [call site] 00118
5 ssh_digest_by_alg [function] [call site] 00119
5 EVP_Digest [call site] 00120
3 ssh_digest_bytes [function] [call site] 00123
4 ssh_digest_by_alg [function] [call site] 00124
3 tohex [function] [call site] 00125
4 xstrdup [function] [call site] 00126
5 strlen [call site] 00127
4 snprintf [call site] 00139
4 strlcat [function] [call site] 00140
5 strlen [call site] 00141
3 strlen [call site] 00143
3 sshbuf_new [function] [call site] 00145
4 calloc [call site] 00146
4 calloc [call site] 00147
3 ssh_digest_bytes [function] [call site] 00148
3 sshbuf_put [function] [call site] 00149
4 sshbuf_reserve [function] [call site] 00150
5 sshbuf_allocate [function] [call site] 00151
6 sshbuf_check_reserve [function] [call site] 00152
7 sshbuf_check_sanity [function] [call site] 00153
6 sshbuf_maybe_pack [function] [call site] 00154
6 recallocarray [function] [call site] 00155
7 calloc [call site] 00156
7 __errno_location [call site] 00157
7 __errno_location [call site] 00158
7 getpagesize [call site] 00159
7 memset [call site] 00160
7 memset [call site] 00161
7 explicit_bzero [call site] 00162
6 sshbuf_check_reserve [function] [call site] 00163
3 sshbuf_free [function] [call site] 00166
3 explicit_bzero [call site] 00167
2 sshsig_wrap_verify [function] [call site] 00170
3 sshbuf_len [function] [call site] 00171
3 sshbuf_new [function] [call site] 00173
3 sshbuf_put [function] [call site] 00175
3 sshbuf_put_cstring [function] [call site] 00176
4 strlen [call site] 00177
4 sshbuf_put_string [function] [call site] 00178
5 sshbuf_reserve [function] [call site] 00179
3 sshbuf_put_string [function] [call site] 00180
3 sshbuf_put_cstring [function] [call site] 00181
3 sshbuf_put_stringb [function] [call site] 00182
4 sshbuf_put_string [function] [call site] 00183
4 sshbuf_ptr [function] [call site] 00184
4 sshbuf_len [function] [call site] 00185
4 sshbuf_put_string [function] [call site] 00186
3 sshsig_parse_preamble [function] [call site] 00189
3 sshkey_froms [function] [call site] 00190
4 sshbuf_froms [function] [call site] 00191
5 sshbuf_peek_string_direct [function] [call site] 00192
5 sshbuf_from [function] [call site] 00193
5 sshbuf_consume [function] [call site] 00194
5 sshbuf_set_parent [function] [call site] 00195
5 sshbuf_free [function] [call site] 00196
4 sshkey_from_blob_internal [function] [call site] 00197
5 sshbuf_fromb [function] [call site] 00198
5 sshbuf_get_cstring [function] [call site] 00199
5 sshkey_type_from_name [function] [call site] 00200
6 type_from_name [function] [call site] 00201
7 strcmp [call site] 00202
7 strcasecmp [call site] 00203
5 sshkey_type_is_cert [function] [call site] 00204
6 sshkey_impl_from_type [function] [call site] 00205
5 sshkey_impl_from_type [function] [call site] 00206
5 sshkey_new [function] [call site] 00207
6 sshkey_impl_from_type [function] [call site] 00208
6 calloc [call site] 00209
6 sshkey_is_cert [function] [call site] 00210
7 sshkey_type_is_cert [function] [call site] 00211
6 cert_new [function] [call site] 00212
7 calloc [call site] 00213
7 sshbuf_new [function] [call site] 00214
7 sshbuf_new [function] [call site] 00215
7 sshbuf_new [function] [call site] 00216
7 cert_free [function] [call site] 00217
8 sshbuf_free [function] [call site] 00218
8 sshbuf_free [function] [call site] 00219
8 sshbuf_free [function] [call site] 00220
8 sshkey_free [function] [call site] 00221
9 sshkey_free_contents [function] [call site] 00222
10 pkcs11_key_free [function] [call site] 00223
11 sshkey_type [function] [call site] 00224
12 sshkey_impl_from_key [function] [call site] 00225
13 sshkey_impl_from_type_nid [function] [call site] 00226
11 helper_by_key [function] [call site] 00228
12 sshbuf_new [function] [call site] 00229
12 sshfatal [function] [call site] 00230
12 sshkey_putb [function] [call site] 00231
13 to_blob_buf [function] [call site] 00232
14 sshkey_type_plain [function] [call site] 00233
14 sshkey_type_is_cert [function] [call site] 00234
14 sshbuf_len [function] [call site] 00235
14 sshbuf_putb [function] [call site] 00236
15 sshbuf_ptr [function] [call site] 00237
15 sshbuf_len [function] [call site] 00238
15 sshbuf_put [function] [call site] 00239
14 sshkey_impl_from_type [function] [call site] 00240
14 sshkey_ssh_name_from_type_nid [function] [call site] 00241
15 sshkey_impl_from_type_nid [function] [call site] 00242
14 sshbuf_put_cstring [function] [call site] 00243
12 sshfatal [function] [call site] 00245
12 sshbuf_equals [function] [call site] 00246
13 sshbuf_ptr [function] [call site] 00247
13 sshbuf_len [function] [call site] 00248
13 sshbuf_len [function] [call site] 00249
13 sshbuf_ptr [function] [call site] 00250
13 sshbuf_len [function] [call site] 00251
13 memcmp [call site] 00252
12 sshbuf_free [function] [call site] 00253
12 sshbuf_free [function] [call site] 00254
11 sshkey_type [function] [call site] 00255
11 sshfatal [function] [call site] 00256
11 sshbuf_new [function] [call site] 00257
11 sshfatal [function] [call site] 00258
11 sshkey_putb [function] [call site] 00259
11 sshfatal [function] [call site] 00261
11 sshbuf_equals [function] [call site] 00262
11 sshfatal [function] [call site] 00263
11 xrecallocarray [function] [call site] 00264
12 recallocarray [function] [call site] 00265
12 sshfatal [function] [call site] 00266
11 helper_terminate [function] [call site] 00267
12 sshfatal [function] [call site] 00268
12 close [call site] 00270
12 sshfatal [function] [call site] 00271
12 xrecallocarray [function] [call site] 00272
10 sshkey_impl_from_type [function] [call site] 00273
10 sshkey_is_cert [function] [call site] 00274
10 cert_free [function] [call site] 00275
11 freezero [function] [call site] 00276
10 freezero [function] [call site] 00277
10 sshkey_prekey_free [function] [call site] 00278
11 munmap [call site] 00279
6 sshkey_free [function] [call site] 00281
5 sshkey_type_is_cert [function] [call site] 00282
5 sshbuf_get_string_direct [function] [call site] 00283
5 sshkey_is_cert [function] [call site] 00284
5 cert_parse [function] [call site] 00285
6 sshbuf_putb [function] [call site] 00286
6 sshbuf_get_u64 [function] [call site] 00287
7 sshbuf_ptr [function] [call site] 00288
7 sshbuf_consume [function] [call site] 00289
6 sshbuf_get_u32 [function] [call site] 00290
6 sshbuf_get_cstring [function] [call site] 00291
6 sshbuf_froms [function] [call site] 00292
6 sshbuf_get_u64 [function] [call site] 00293
6 sshbuf_get_u64 [function] [call site] 00294
6 sshbuf_froms [function] [call site] 00295
6 sshbuf_froms [function] [call site] 00296
6 sshbuf_get_string_direct [function] [call site] 00297
6 sshbuf_froms [function] [call site] 00298
6 sshbuf_len [function] [call site] 00299
6 sshbuf_get_string [function] [call site] 00300
6 sshbuf_len [function] [call site] 00301
6 sshbuf_get_cstring [function] [call site] 00302
6 recallocarray [function] [call site] 00303
6 sshbuf_putb [function] [call site] 00304
6 sshbuf_putb [function] [call site] 00305
6 sshbuf_len [function] [call site] 00306
6 sshbuf_get_string_direct [function] [call site] 00307
6 sshbuf_get_string_direct [function] [call site] 00308
6 sshbuf_reset [function] [call site] 00309
7 sshbuf_check_sanity [function] [call site] 00310
7 recallocarray [function] [call site] 00311
7 explicit_bzero [call site] 00312
6 sshbuf_len [function] [call site] 00313
6 sshbuf_get_string_direct [function] [call site] 00314
6 sshbuf_get_string_direct [function] [call site] 00315
6 sshbuf_reset [function] [call site] 00316
6 sshkey_from_blob_internal [function] [call site] 00317
7 sshbuf_len [function] [call site] 00318
7 sshbuf_free [function] [call site] 00319
7 sshkey_free [function] [call site] 00320
6 sshkey_type_is_valid_ca [function] [call site] 00321
7 sshkey_impl_from_type [function] [call site] 00322
6 sshbuf_ptr [function] [call site] 00323
6 sshkey_verify [function] [call site] 00324
7 sshkey_impl_from_key [function] [call site] 00325
6 sshkey_get_sigtype [function] [call site] 00326
7 sshbuf_from [function] [call site] 00327
7 sshbuf_get_cstring [function] [call site] 00328
7 sshbuf_free [function] [call site] 00329
6 sshbuf_free [function] [call site] 00330
6 sshbuf_free [function] [call site] 00331
6 sshbuf_free [function] [call site] 00332
6 sshbuf_free [function] [call site] 00333
4 sshbuf_free [function] [call site] 00334
3 sshbuf_get_cstring [function] [call site] 00335
3 sshbuf_get_string [function] [call site] 00336
3 sshbuf_get_cstring [function] [call site] 00337
3 sshbuf_get_string_direct [function] [call site] 00338
3 sshbuf_len [function] [call site] 00341
3 strcmp [call site] 00343
3 strcmp [call site] 00346
3 sshkey_type_plain [function] [call site] 00349
3 sshkey_get_sigtype [function] [call site] 00350
3 match_pattern_list [function] [call site] 00353
3 sshbuf_ptr [function] [call site] 00355
3 sshbuf_len [function] [call site] 00356
3 sshkey_verify [function] [call site] 00357
3 sshbuf_free [function] [call site] 00360
3 sshbuf_free [function] [call site] 00361
3 sshkey_free [function] [call site] 00362
2 sshbuf_free [function] [call site] 00363
1 sshkey_sig_details_free [function] [call site] 00364
1 sshkey_free [function] [call site] 00366
1 sshbuf_free [function] [call site] 00367
1 sshbuf_free [function] [call site] 00368