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
95 95 8 :

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

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

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

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

['rsa_hash_id_from_keyname']

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

['strlcpy']

7 118 sshlogv call site: 00025 /src/openssh/log.c:484
2 2 1 :

['BN_clear_free']

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

['sshbuf_put_u8']

0 710 sshbuf_dtob64 call site: 00000 /src/openssh/sshbuf-misc.c:111
0 220 1 :

['cert_free']

0 220 cert_new call site: 00093 /src/openssh/sshkey.c:587
0 218 1 :

['sshkey_free']

0 218 sshkey_new call site: 00091 /src/openssh/sshkey.c:622
0 205 1 :

['ssh_digest_buffer']

0 607 webauthn_check_prepare_hash call site: 00000 /src/openssh/ssh-ecdsa-sk.c:217
0 201 1 :

['sshbuf_free']

0 201 sshbuf_froms call site: 00066 /src/openssh/sshbuf-getput-basic.c:561
0 201 1 :

['sshbuf_free']

0 201 sshbuf_fromb call site: 00080 /src/openssh/sshbuf.c:151
0 5 1 :

['freezero']

0 206 ssh_xmss_verify call site: 00000 /src/openssh/ssh-xmss.c:342

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 sshlog [function] [call site] 00013
8 sshlogv [function] [call site] 00014
9 strrchr [call site] 00015
9 getpid [call site] 00016
9 snprintf [call site] 00017
9 match_pattern_list [function] [call site] 00018
10 strlen [call site] 00019
10 __ctype_b_loc [call site] 00020
10 tolower [call site] 00021
10 match_pattern [function] [call site] 00022
11 match_pattern [function] [call site] 00023
12 match_pattern [function] [call site] 00024
9 snprintf [call site] 00025
9 snprintf [call site] 00026
9 do_log [function] [call site] 00028
10 __errno_location [call site] 00029
10 snprintf [call site] 00030
10 vsnprintf [call site] 00031
10 vsnprintf [call site] 00032
10 snprintf [call site] 00033
10 strnvis [function] [call site] 00035
11 __ctype_b_loc [call site] 00036
11 vis [function] [call site] 00037
12 __ctype_b_loc [call site] 00038
12 __ctype_b_loc [call site] 00039
10 snprintf [call site] 00041
10 strlen [call site] 00042
10 openlog [call site] 00043
10 syslog [call site] 00044
10 closelog [call site] 00045
10 __errno_location [call site] 00046
6 raise [call site] 00047
4 sshbuf_len [function] [call site] 00048
5 sshbuf_check_sanity [function] [call site] 00049
4 sshbuf_len [function] [call site] 00050
3 memchr [call site] 00051
3 sshbuf_get_string_direct [function] [call site] 00052
4 sshbuf_peek_string_direct [function] [call site] 00053
4 sshbuf_consume [function] [call site] 00054
5 sshbuf_check_sanity [function] [call site] 00055
5 sshbuf_len [function] [call site] 00056
2 sshkey_type_from_name [function] [call site] 00057
3 strcmp [call site] 00058
3 strcasecmp [call site] 00059
2 sshkey_type_is_cert [function] [call site] 00060
3 sshkey_impl_from_type [function] [call site] 00061
2 sshkey_froms [function] [call site] 00062
3 sshbuf_froms [function] [call site] 00063
4 sshbuf_peek_string_direct [function] [call site] 00064
4 sshbuf_from [function] [call site] 00065
4 sshbuf_consume [function] [call site] 00066
4 sshbuf_set_parent [function] [call site] 00067
5 sshbuf_check_sanity [function] [call site] 00068
5 sshbuf_check_sanity [function] [call site] 00069
4 sshbuf_free [function] [call site] 00070
5 sshbuf_check_sanity [function] [call site] 00071
5 sshbuf_free [function] [call site] 00072
6 explicit_bzero [call site] 00073
6 freezero [function] [call site] 00074
7 explicit_bzero [call site] 00075
3 sshkey_from_blob_internal [function] [call site] 00076
4 sshbuf_fromb [function] [call site] 00077
5 sshbuf_check_sanity [function] [call site] 00078
5 sshbuf_ptr [function] [call site] 00079
5 sshbuf_set_parent [function] [call site] 00080
5 sshbuf_free [function] [call site] 00081
4 sshbuf_get_cstring [function] [call site] 00082
4 sshkey_type_from_name [function] [call site] 00083
4 sshkey_type_is_cert [function] [call site] 00084
4 sshkey_impl_from_type [function] [call site] 00085
4 sshkey_new [function] [call site] 00086
5 sshkey_impl_from_type [function] [call site] 00087
5 calloc [call site] 00088
5 sshkey_is_cert [function] [call site] 00089
6 sshkey_type_is_cert [function] [call site] 00090
5 cert_new [function] [call site] 00091
6 calloc [call site] 00092
6 sshbuf_new [function] [call site] 00093
7 calloc [call site] 00094
7 calloc [call site] 00095
6 sshbuf_new [function] [call site] 00096
6 sshbuf_new [function] [call site] 00097
6 cert_free [function] [call site] 00098
7 sshbuf_free [function] [call site] 00099
7 sshbuf_free [function] [call site] 00100
7 sshbuf_free [function] [call site] 00101
7 sshkey_free [function] [call site] 00102
8 sshkey_free_contents [function] [call site] 00103
9 sshkey_impl_from_type [function] [call site] 00104
9 sshkey_is_cert [function] [call site] 00105
5 sshkey_free [function] [call site] 00111
4 sshkey_type_is_cert [function] [call site] 00112
4 sshbuf_get_string_direct [function] [call site] 00113
4 sshkey_is_cert [function] [call site] 00114
4 sshbuf_len [function] [call site] 00115
4 sshbuf_free [function] [call site] 00116
4 sshkey_free [function] [call site] 00117
3 sshbuf_free [function] [call site] 00118
2 sshkey_ecdsa_nid_from_name [function] [call site] 00119
3 key_type_is_ecdsa_variant [function] [call site] 00120
3 strcmp [call site] 00121
2 sshkey_new [function] [call site] 00122
2 sshkey_impl_from_type [function] [call site] 00123
2 strcmp [call site] 00124
2 memcmp [call site] 00125
2 sshkey_free [function] [call site] 00126
1 sshkey_free [function] [call site] 00127
1 sshbuf_free [function] [call site] 00128