Fuzz introspector: sig_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
453 453 2 :

['cert_new', 'sshkey_free']

453 453 sshkey_new call site: 00010 /src/hpn-ssh/sshkey.c:629
220 220 1 :

['sshkey_free']

220 220 sshkey_generate call site: 00007 /src/hpn-ssh/sshkey.c:1414
164 164 1 :

['_getentropy_fail']

168 229 _rs_stir call site: 00000 /src/hpn-ssh/openbsd-compat/arc4random.c:116
164 164 2 :

['ERR_get_error', 'sshfatal']

164 164 _ssh_compat_getentropy call site: 00000 /src/hpn-ssh/openbsd-compat/bsd-getentropy.c:45
158 158 5 :

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

158 158 sshlogv call site: 00029 /src/hpn-ssh/log.c:480
73 73 2 :

['abort', 'ssh_err']

73 73 generate_or_die(int,unsignedint) call site: 00000 /src/hpn-ssh/regress/misc/fuzz-harness/sig_fuzz.cc:18
13 13 1 :

['rsa_hash_id_from_keyname']

21 703 ssh_rsa_verify call site: 00000 /src/hpn-ssh/ssh-rsa.c:508
4 4 1 :

['timingsafe_bcmp']

4 9 openssh_RSA_verify call site: 00000 /src/hpn-ssh/ssh-rsa.c:659
2 2 1 :

['_exit']

2 2 _rs_init call site: 00000 /src/hpn-ssh/openbsd-compat/arc4random.c:102
2 2 1 :

['memset']

2 2 _rs_forkdetect call site: 00000 /src/hpn-ssh/openbsd-compat/./arc4random.h:58
2 2 1 :

['munmap']

2 2 _rs_allocate call site: 00000 /src/hpn-ssh/openbsd-compat/./arc4random.h:71
2 2 1 :

['EC_KEY_free']

2 2 ssh_ecdsa_generate call site: 00000 /src/hpn-ssh/ssh-ecdsa.c:135

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 __cxa_guard_acquire [call site] 00001
1 generate_or_die(int, unsigned int) [function] [call site] 00002
2 sshkey_generate [function] [call site] 00003
3 sshkey_type_is_cert [function] [call site] 00004
4 sshkey_impl_from_type [function] [call site] 00005
3 sshkey_impl_from_type [function] [call site] 00006
3 sshkey_new [function] [call site] 00007
4 sshkey_impl_from_type [function] [call site] 00008
4 calloc [call site] 00009
4 sshkey_is_cert [function] [call site] 00010
5 sshkey_type_is_cert [function] [call site] 00011
4 cert_new [function] [call site] 00012
5 calloc [call site] 00013
5 sshbuf_new_label [function] [call site] 00014
6 calloc [call site] 00015
6 strncpy [call site] 00016
6 calloc [call site] 00017
5 sshbuf_new_label [function] [call site] 00018
5 sshbuf_new_label [function] [call site] 00019
5 cert_free [function] [call site] 00020
6 sshbuf_free [function] [call site] 00021
7 sshbuf_check_sanity [function] [call site] 00022
8 ssh_signal [function] [call site] 00023
9 memset [call site] 00024
9 sigfillset [call site] 00025
9 sigaction [call site] 00026
9 strsignal [call site] 00027
9 sshlog [function] [call site] 00028
10 sshlogv [function] [call site] 00029
11 strrchr [call site] 00030
11 getpid [call site] 00031
11 snprintf [call site] 00032
11 match_pattern_list [function] [call site] 00033
12 strlen [call site] 00034
12 __ctype_b_loc [call site] 00035
12 tolower [call site] 00036
12 match_pattern [function] [call site] 00037
13 match_pattern [function] [call site] 00038
14 match_pattern [function] [call site] 00039
11 snprintf [call site] 00040
11 snprintf [call site] 00041
11 do_log [function] [call site] 00043
12 __errno_location [call site] 00044
12 snprintf [call site] 00045
12 vsnprintf [call site] 00046
12 vsnprintf [call site] 00047
12 snprintf [call site] 00048
12 strnvis [function] [call site] 00050
13 __ctype_b_loc [call site] 00051
13 vis [function] [call site] 00052
14 __ctype_b_loc [call site] 00053
14 __ctype_b_loc [call site] 00054
12 snprintf [call site] 00056
12 strlen [call site] 00057
12 openlog [call site] 00058
12 syslog [call site] 00059
12 closelog [call site] 00060
12 __errno_location [call site] 00061
8 raise [call site] 00062
7 sshbuf_free [function] [call site] 00063
8 explicit_bzero [call site] 00064
8 freezero [function] [call site] 00065
9 explicit_bzero [call site] 00066
6 sshbuf_free [function] [call site] 00067
6 sshbuf_free [function] [call site] 00068
6 sshkey_free [function] [call site] 00069
7 sshkey_free_contents [function] [call site] 00070
8 sshkey_impl_from_type [function] [call site] 00071
8 sshkey_is_cert [function] [call site] 00072
4 sshkey_free [function] [call site] 00078
3 sshkey_free [function] [call site] 00079
2 ssh_err [function] [call site] 00080
3 __errno_location [call site] 00081
2 fprintf [call site] 00082
2 abort [call site] 00083
1 generate_or_die(int, unsigned int) [function] [call site] 00084
1 __cxa_guard_acquire [call site] 00085
1 generate_or_die(int, unsigned int) [function] [call site] 00086
1 __cxa_guard_acquire [call site] 00087
1 generate_or_die(int, unsigned int) [function] [call site] 00088
1 __cxa_guard_acquire [call site] 00089
1 generate_or_die(int, unsigned int) [function] [call site] 00090
1 __cxa_guard_acquire [call site] 00091
1 generate_or_die(int, unsigned int) [function] [call site] 00092
1 __cxa_guard_acquire [call site] 00093
1 sshkey_verify [function] [call site] 00094
2 sshkey_impl_from_key [function] [call site] 00095
3 sshkey_impl_from_type_nid [function] [call site] 00096
1 sshkey_sig_details_free [function] [call site] 00097
1 sshkey_verify [function] [call site] 00099
1 sshkey_sig_details_free [function] [call site] 00100
1 sshkey_verify [function] [call site] 00101
1 sshkey_sig_details_free [function] [call site] 00102
1 sshkey_verify [function] [call site] 00103
1 sshkey_sig_details_free [function] [call site] 00104
1 sshkey_verify [function] [call site] 00105
1 sshkey_sig_details_free [function] [call site] 00106
1 sshkey_verify [function] [call site] 00107
1 sshkey_sig_details_free [function] [call site] 00108