Fuzz introspector: provider
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
5886 5886 2 :

['EVP_DigestVerifyInit', 'EVP_DigestSignInit']

5886 6147 evp_md_init_internal call site: 00000 /src/openssl/crypto/evp/digest.c:166
5496 7484 7 :

['ENGINE_finish', 'CRYPTO_free', 'EVP_KEYMGMT_free', 'evp_pkey_ctx_free_all_cached_data', 'BN_free', 'evp_pkey_ctx_free_old_ops', 'EVP_PKEY_free']

5496 7484 EVP_PKEY_CTX_free call site: 00000 /src/openssl/crypto/evp/pmeth_lib.c:389
3263 3281 2 :

['OSSL_LIB_CTX_get_conf_diagnostics', 'CONF_modules_load']

3263 3305 CONF_modules_load_file_ex call site: 00000 /src/openssl/crypto/conf/conf_mod.c:217
3181 3181 2 :

['ossl_provider_up_ref_parent', 'ossl_provider_free']

3181 3181 ossl_provider_up_ref call site: 00000 /src/openssl/crypto/provider_core.c:483
3115 3117 2 :

['ossl_prov_digest_md', 'SSKDF_hash_kdm']

3115 3378 x963kdf_derive call site: 00000 /src/openssl/providers/implementations/kdfs/sskdf.c:504
3115 3115 1 :

['SSKDF_hash_kdm']

3115 3376 sskdf_derive call site: 00000 /src/openssl/providers/implementations/kdfs/sskdf.c:412
2566 2954 5 :

['CRYPTO_zalloc', 'EVP_PKEY_CTX_ctrl', 'ENGINE_init', 'ENGINE_finish', 'ENGINE_get_digest']

2566 5336 evp_md_init_internal call site: 00000 /src/openssl/crypto/evp/digest.c:226
2381 4657 5 :

['EVP_PKEY_CTX_dup', 'ERR_new', 'EVP_MD_CTX_reset', 'ERR_set_debug', 'ERR_set_error']

2381 4657 EVP_MD_CTX_copy_ex call site: 00000 /src/openssl/crypto/evp/digest.c:654
2098 9008 7 :

['drbg_ctr_init', 'CRYPTO_free', 'CRYPTO_strndup', 'EVP_CIPHER_fetch', 'ossl_drbg_set_ctx_params', 'strcpy', 'EVP_CIPHER_free']

2098 9269 drbg_ctr_set_ctx_params_locked call site: 00000 /src/openssl/providers/implementations/rands/drbg_ctr.c:739
2002 3617 14 :

['DSO_ctrl', 'CRYPTO_strdup', 'CRYPTO_free', 'DSO_free', 'DSO_new', 'ossl_safe_getenv', 'ossl_get_modulesdir', 'CRYPTO_THREAD_read_lock', 'DSO_bind_func', 'DSO_load', 'DSO_merge', 'DSO_convert_filename', 'get_provider_store', 'CRYPTO_THREAD_unlock']

2008 4416 provider_init call site: 00000 /src/openssl/crypto/provider_core.c:890
1642 1642 1 :

['blake2b_mac']

1642 1642 blake2b call site: 00000 /src/openssl/providers/implementations/kdfs/argon2.c:843
1595 1595 1 :

['EVP_CIPHER_is_a']

1595 3448 find_alg_id call site: 00000 /src/openssl/providers/implementations/kdfs/x942kdf.c:86

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 FuzzerTestOneInput [function] [call site] 00001
2 read_uint [function] [call site] 00002
2 sk_EVP_MD_num [function] [call site] 00004
3 OPENSSL_sk_num [function] [call site] 00005
2 EVP_MD_settable_ctx_params [function] [call site] 00006
3 EVP_MD_get0_provider [function] [call site] 00007
3 ossl_provider_ctx [function] [call site] 00008
2 OSSL_PARAM_free [function] [call site] 00009
2 sk_EVP_CIPHER_num [function] [call site] 00010
3 OPENSSL_sk_num [function] [call site] 00011
2 EVP_CIPHER_settable_ctx_params [function] [call site] 00012
3 EVP_CIPHER_get0_provider [function] [call site] 00013
3 ossl_provider_ctx [function] [call site] 00014
2 OSSL_PARAM_free [function] [call site] 00015
2 sk_EVP_KDF_num [function] [call site] 00016
3 OPENSSL_sk_num [function] [call site] 00017
2 EVP_KDF_settable_ctx_params [function] [call site] 00018
3 EVP_KDF_get0_provider [function] [call site] 00019
3 ossl_provider_ctx [function] [call site] 00020
2 OSSL_PARAM_free [function] [call site] 00021
2 sk_EVP_MAC_num [function] [call site] 00022
3 OPENSSL_sk_num [function] [call site] 00023
2 EVP_MAC_settable_ctx_params [function] [call site] 00024
3 EVP_MAC_get0_provider [function] [call site] 00025
3 ossl_provider_ctx [function] [call site] 00026
2 OSSL_PARAM_free [function] [call site] 00027
2 sk_EVP_KEM_num [function] [call site] 00028
3 OPENSSL_sk_num [function] [call site] 00029
2 EVP_KEM_settable_ctx_params [function] [call site] 00030
3 EVP_KEM_get0_provider [function] [call site] 00031
3 ossl_provider_ctx [function] [call site] 00032
2 OSSL_PARAM_free [function] [call site] 00033
2 sk_EVP_RAND_num [function] [call site] 00034
3 OPENSSL_sk_num [function] [call site] 00035
2 EVP_RAND_settable_ctx_params [function] [call site] 00036
3 EVP_RAND_get0_provider [function] [call site] 00037
3 ossl_provider_ctx [function] [call site] 00038
2 OSSL_PARAM_free [function] [call site] 00039
2 sk_EVP_ASYM_CIPHER_num [function] [call site] 00040
3 OPENSSL_sk_num [function] [call site] 00041
2 EVP_ASYM_CIPHER_settable_ctx_params [function] [call site] 00042
3 EVP_ASYM_CIPHER_get0_provider [function] [call site] 00043
3 ossl_provider_ctx [function] [call site] 00044
2 OSSL_PARAM_free [function] [call site] 00045
2 sk_EVP_SIGNATURE_num [function] [call site] 00046
3 OPENSSL_sk_num [function] [call site] 00047
2 EVP_SIGNATURE_settable_ctx_params [function] [call site] 00048
3 EVP_SIGNATURE_get0_provider [function] [call site] 00049
3 ossl_provider_ctx [function] [call site] 00050
2 OSSL_PARAM_free [function] [call site] 00051
2 sk_EVP_KEYEXCH_num [function] [call site] 00052
3 OPENSSL_sk_num [function] [call site] 00053
2 EVP_KEYEXCH_settable_ctx_params [function] [call site] 00054
3 EVP_KEYEXCH_get0_provider [function] [call site] 00055
3 ossl_provider_ctx [function] [call site] 00056
2 OSSL_PARAM_free [function] [call site] 00057