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
164 164 1 :

['xstrdup']

164 164 tohex call site: 00119 /src/openssh/misc.c:1496
160 160 1 :

['sshfatal']

160 160 xcalloc call site: 00131 /src/openssh/xmalloc.c:56
88 95 8 :

['strlen', 'strnvis', 'syslog', '__errno_location', 'openlog', 'strlcpy', 'write', 'closelog']

88 95 do_log call site: 00038 /src/openssh/log.c:351
82 240 4 :

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

82 451 ssh_xmss_verify call site: 00000 /src/openssh/ssh-xmss.c:312
50 50 3 :

['EC_KEY_get0_group', 'sshkey_ec_validate_public', 'EC_KEY_get0_public_key']

52 52 ssh_ecdsa_deserialize_public call site: 00000 /src/openssh/ssh-ecdsa.c:177
13 13 1 :

['rsa_hash_id_from_keyname']

21 697 ssh_rsa_verify call site: 00000 /src/openssh/ssh-rsa.c:508
6 6 3 :

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

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

['EC_KEY_set_public_key', 'sshbuf_get_string_direct']

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

['strlen']

2 2 strlcat call site: 00134 /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
0 231 1 :

['sshkey_deserialize_sk']

0 231 ssh_ecdsa_sk_deserialize_public call site: 00000 /src/openssh/ssh-ecdsa-sk.c:133
0 227 2 :

['ssh_err', 'sshlog']

2 430 hash_buffer call site: 00142 /src/openssh/sshsig.c:417

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 sshlog [function] [call site] 00022
7 sshlogv [function] [call site] 00023
8 strrchr [call site] 00024
8 getpid [call site] 00025
8 snprintf [call site] 00026
8 match_pattern_list [function] [call site] 00027
9 strlen [call site] 00028
9 __ctype_b_loc [call site] 00029
9 tolower [call site] 00030
9 match_pattern [function] [call site] 00031
10 match_pattern [function] [call site] 00032
11 match_pattern [function] [call site] 00033
8 snprintf [call site] 00034
8 snprintf [call site] 00035
8 do_log [function] [call site] 00037
9 __errno_location [call site] 00038
9 snprintf [call site] 00039
9 vsnprintf [call site] 00040
9 vsnprintf [call site] 00041
9 snprintf [call site] 00042
9 strnvis [function] [call site] 00044
10 __ctype_b_loc [call site] 00045
10 vis [function] [call site] 00046
11 __ctype_b_loc [call site] 00047
11 __ctype_b_loc [call site] 00048
9 snprintf [call site] 00050
9 strlen [call site] 00051
9 openlog [call site] 00052
9 syslog [call site] 00053
9 closelog [call site] 00054
9 __errno_location [call site] 00055
5 raise [call site] 00056
4 sshbuf_ptr [function] [call site] 00057
5 sshbuf_check_sanity [function] [call site] 00058
4 sshbuf_set_parent [function] [call site] 00059
5 sshbuf_check_sanity [function] [call site] 00060
5 sshbuf_check_sanity [function] [call site] 00061
4 sshbuf_free [function] [call site] 00062
5 sshbuf_check_sanity [function] [call site] 00063
5 sshbuf_free [function] [call site] 00064
6 explicit_bzero [call site] 00065
6 freezero [function] [call site] 00066
7 explicit_bzero [call site] 00067
3 sshsig_parse_preamble [function] [call site] 00068
4 sshbuf_cmp [function] [call site] 00069
5 sshbuf_ptr [function] [call site] 00070
5 sshbuf_len [function] [call site] 00071
6 sshbuf_check_sanity [function] [call site] 00072
5 sshbuf_ptr [function] [call site] 00073
5 timingsafe_bcmp [function] [call site] 00074
4 sshbuf_consume [function] [call site] 00075
5 sshbuf_check_sanity [function] [call site] 00076
5 sshbuf_len [function] [call site] 00077
4 sshbuf_get_u32 [function] [call site] 00078
5 sshbuf_ptr [function] [call site] 00079
5 sshbuf_consume [function] [call site] 00080
3 sshbuf_get_string_direct [function] [call site] 00083
4 sshbuf_peek_string_direct [function] [call site] 00084
5 sshbuf_ptr [function] [call site] 00085
5 sshbuf_len [function] [call site] 00086
5 sshbuf_len [function] [call site] 00087
4 sshbuf_consume [function] [call site] 00088
3 sshbuf_get_string_direct [function] [call site] 00089
3 sshbuf_get_string [function] [call site] 00090
4 sshbuf_get_string_direct [function] [call site] 00091
3 sshbuf_get_cstring [function] [call site] 00092
4 sshbuf_peek_string_direct [function] [call site] 00093
4 memchr [call site] 00094
4 sshbuf_get_string_direct [function] [call site] 00095
3 sshbuf_get_string_direct [function] [call site] 00096
3 ssh_err [function] [call site] 00097
4 __errno_location [call site] 00098
3 sshbuf_free [function] [call site] 00100
2 hash_buffer [function] [call site] 00102
3 memset [call site] 00103
3 sshsig_check_hashalg [function] [call site] 00104
4 match_pattern_list [function] [call site] 00105
3 ssh_digest_alg_by_name [function] [call site] 00107
4 strcasecmp [call site] 00108
3 ssh_digest_buffer [function] [call site] 00110
4 sshbuf_ptr [function] [call site] 00111
4 ssh_digest_memory [function] [call site] 00112
5 ssh_digest_by_alg [function] [call site] 00113
5 EVP_Digest [call site] 00114
3 ssh_digest_bytes [function] [call site] 00117
4 ssh_digest_by_alg [function] [call site] 00118
3 tohex [function] [call site] 00119
4 xstrdup [function] [call site] 00120
5 strlen [call site] 00121
4 snprintf [call site] 00133
4 strlcat [function] [call site] 00134
5 strlen [call site] 00135
3 sshbuf_new [function] [call site] 00138
4 calloc [call site] 00139
4 calloc [call site] 00140
3 ssh_digest_bytes [function] [call site] 00141
3 sshbuf_put [function] [call site] 00142
4 sshbuf_reserve [function] [call site] 00143
5 sshbuf_allocate [function] [call site] 00144
6 sshbuf_check_reserve [function] [call site] 00145
7 sshbuf_check_sanity [function] [call site] 00146
6 sshbuf_maybe_pack [function] [call site] 00147
6 recallocarray [function] [call site] 00148
7 calloc [call site] 00149
7 __errno_location [call site] 00150
7 getpagesize [call site] 00151
7 memset [call site] 00152
7 memset [call site] 00153
7 explicit_bzero [call site] 00154
6 sshbuf_check_reserve [function] [call site] 00155
3 sshbuf_free [function] [call site] 00158
3 explicit_bzero [call site] 00159
2 sshsig_wrap_verify [function] [call site] 00162
3 sshbuf_len [function] [call site] 00163
3 sshbuf_new [function] [call site] 00165
3 sshbuf_put [function] [call site] 00167
3 sshbuf_put_cstring [function] [call site] 00168
4 strlen [call site] 00169
4 sshbuf_put_string [function] [call site] 00170
5 sshbuf_reserve [function] [call site] 00171
3 sshbuf_put_string [function] [call site] 00172
3 sshbuf_put_cstring [function] [call site] 00173
3 sshbuf_put_stringb [function] [call site] 00174
4 sshbuf_put_string [function] [call site] 00175
4 sshbuf_ptr [function] [call site] 00176
4 sshbuf_put_string [function] [call site] 00177
3 sshsig_parse_preamble [function] [call site] 00180
3 sshkey_froms [function] [call site] 00181
4 sshbuf_froms [function] [call site] 00182
5 sshbuf_peek_string_direct [function] [call site] 00183
5 sshbuf_from [function] [call site] 00184
5 sshbuf_consume [function] [call site] 00185
5 sshbuf_set_parent [function] [call site] 00186
5 sshbuf_free [function] [call site] 00187
4 sshkey_from_blob_internal [function] [call site] 00188
5 sshbuf_fromb [function] [call site] 00189
5 sshbuf_get_cstring [function] [call site] 00190
5 sshkey_type_from_name [function] [call site] 00191
6 strcmp [call site] 00192
5 sshkey_type_is_cert [function] [call site] 00193
6 sshkey_impl_from_type [function] [call site] 00194
5 sshkey_impl_from_type [function] [call site] 00195
5 sshkey_new [function] [call site] 00196
6 sshkey_impl_from_type [function] [call site] 00197
6 calloc [call site] 00198
6 sshkey_is_cert [function] [call site] 00199
7 sshkey_type_is_cert [function] [call site] 00200
6 cert_new [function] [call site] 00201
7 calloc [call site] 00202
7 sshbuf_new [function] [call site] 00203
7 sshbuf_new [function] [call site] 00204
7 sshbuf_new [function] [call site] 00205
7 cert_free [function] [call site] 00206
8 sshbuf_free [function] [call site] 00207
8 sshbuf_free [function] [call site] 00208
8 sshbuf_free [function] [call site] 00209
8 sshkey_free [function] [call site] 00210
9 sshkey_free_contents [function] [call site] 00211
10 sshkey_impl_from_type [function] [call site] 00212
10 sshkey_is_cert [function] [call site] 00213
10 cert_free [function] [call site] 00214
11 freezero [function] [call site] 00215
10 freezero [function] [call site] 00216
10 freezero [function] [call site] 00217
6 sshkey_free [function] [call site] 00219
5 sshkey_type_is_cert [function] [call site] 00220
5 sshbuf_get_string_direct [function] [call site] 00221
5 sshkey_is_cert [function] [call site] 00222
5 sshbuf_len [function] [call site] 00223
5 sshbuf_free [function] [call site] 00224
5 sshkey_free [function] [call site] 00225
4 sshbuf_free [function] [call site] 00226
3 sshbuf_get_cstring [function] [call site] 00227
3 sshbuf_get_string [function] [call site] 00228
3 sshbuf_get_cstring [function] [call site] 00229
3 sshbuf_get_string_direct [function] [call site] 00230
3 sshbuf_len [function] [call site] 00233
3 strcmp [call site] 00235
3 strcmp [call site] 00238
3 sshkey_type_plain [function] [call site] 00241
3 sshkey_get_sigtype [function] [call site] 00242
4 sshbuf_from [function] [call site] 00243
4 sshbuf_get_cstring [function] [call site] 00244
4 sshbuf_free [function] [call site] 00245
3 match_pattern_list [function] [call site] 00248
3 sshbuf_ptr [function] [call site] 00250
3 sshbuf_len [function] [call site] 00251
3 sshkey_verify [function] [call site] 00252
4 sshkey_impl_from_key [function] [call site] 00253
5 sshkey_impl_from_type_nid [function] [call site] 00254
3 sshbuf_free [function] [call site] 00257
3 sshbuf_free [function] [call site] 00258
3 sshkey_free [function] [call site] 00259
2 sshbuf_free [function] [call site] 00260
1 sshkey_sig_details_free [function] [call site] 00261
1 sshkey_free [function] [call site] 00263
1 sshbuf_free [function] [call site] 00264
1 sshbuf_free [function] [call site] 00265