diff options
Diffstat (limited to 'fuzz')
32 files changed, 18 insertions, 22 deletions
diff --git a/fuzz/Makefile.am b/fuzz/Makefile.am index 3252b1fba..0e14eb69e 100644 --- a/fuzz/Makefile.am +++ b/fuzz/Makefile.am @@ -611,10 +611,6 @@ files_corpus_fuzz_quic_get_crypto_data := $(wildcard corpus/fuzz_quic_get_crypt fuzz_quic_get_crypto_data_seed_corpus.zip: $(files_corpus_fuzz_quic_get_crypto_data) zip -j fuzz_quic_get_crypto_data_seed_corpus.zip $(files_corpus_fuzz_quic_get_crypto_data) -files_corpus_fuzz_config := $(wildcard corpus/fuzz_config/*) -fuzz_config_seed_corpus.zip: $(files_corpus_fuzz_config) - zip -j fuzz_config_seed_corpus.zip $(files_corpus_fuzz_config) - files_corpus_fuzz_serialization := $(wildcard corpus/fuzz_serialization/*) fuzz_serialization_seed_corpus.zip: $(files_corpus_fuzz_serialization) zip -j fuzz_serialization_seed_corpus.zip $(files_corpus_fuzz_serialization) @@ -715,7 +711,7 @@ files_corpus_fuzz_ds_domain_classify := $(wildcard corpus/fuzz_ds_domain_classi fuzz_ds_domain_classify_seed_corpus.zip: $(files_corpus_fuzz_ds_domain_classify) zip -j fuzz_ds_domain_classify_seed_corpus.zip $(files_corpus_fuzz_ds_domain_classify) -corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_ndpi_reader_payload_analyzer_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_config_seed_corpus.zip fuzz_ds_patricia_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_bins_seed_corpus.zip fuzz_alg_hll_seed_corpus.zip fuzz_alg_jitter_seed_corpus.zip fuzz_ds_libcache_seed_corpus.zip fuzz_community_id_seed_corpus.zip fuzz_ds_tree_seed_corpus.zip fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip fuzz_alg_bytestream_seed_corpus.zip fuzz_libinjection_seed_corpus.zip fuzz_tls_certificate_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_readerutils_workflow_seed_corpus.zip fuzz_readerutils_parseprotolist_seed_corpus.zip fuzz_ds_bitmap64_seed_corpus.zip fuzz_ds_domain_classify_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_is_stun_udp_seed_corpus.zip fuzz_is_stun_tcp_seed_corpus.zip fuzz_filecfg_malicious_sha1_seed_corpus.zip fuzz_filecfg_malicious_ja3_seed_corpus.zip fuzz_filecfg_risk_domains_seed_corpus.zip +corpus: fuzz_ndpi_reader_seed_corpus.zip fuzz_ndpi_reader_alloc_fail_seed_corpus.zip fuzz_ndpi_reader_payload_analyzer_seed_corpus.zip fuzz_quic_get_crypto_data_seed_corpus.zip fuzz_ds_patricia_seed_corpus.zip fuzz_alg_ses_des_seed_corpus.zip fuzz_alg_bins_seed_corpus.zip fuzz_alg_hll_seed_corpus.zip fuzz_alg_jitter_seed_corpus.zip fuzz_ds_libcache_seed_corpus.zip fuzz_community_id_seed_corpus.zip fuzz_ds_tree_seed_corpus.zip fuzz_serialization_seed_corpus.zip fuzz_ds_ptree_seed_corpus.zip fuzz_alg_crc32_md5_seed_corpus.zip fuzz_alg_bytestream_seed_corpus.zip fuzz_libinjection_seed_corpus.zip fuzz_tls_certificate_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_readerutils_workflow_seed_corpus.zip fuzz_readerutils_parseprotolist_seed_corpus.zip fuzz_ds_bitmap64_seed_corpus.zip fuzz_ds_domain_classify_seed_corpus.zip fuzz_filecfg_protocols_seed_corpus.zip fuzz_is_stun_udp_seed_corpus.zip fuzz_is_stun_tcp_seed_corpus.zip fuzz_filecfg_malicious_sha1_seed_corpus.zip fuzz_filecfg_malicious_ja3_seed_corpus.zip fuzz_filecfg_risk_domains_seed_corpus.zip cp corpus/fuzz_*seed_corpus.zip . #Create dictionaries exactly as expected by oss-fuzz. @@ -750,7 +746,6 @@ distdir: -o -path './corpus/fuzz_filecfg_risk_domains/*' \ -o -path './corpus/fuzz_readerutils_workflow/*' \ -o -path './corpus/fuzz_readerutils_parseprotolist/*' \ - -o -path './corpus/fuzz_config/*' \ -o -path './corpus/fuzz_is_stun_udp/*' \ -o -path './corpus/fuzz_is_stun_tcp/*' \ -o -path './corpus/fuzz_serialization/*' \ diff --git a/fuzz/corpus/fuzz_config/0dfcfaf91c524f3982a883227fd2de87906e6bb0 b/fuzz/corpus/fuzz_config/0dfcfaf91c524f3982a883227fd2de87906e6bb0 Binary files differdeleted file mode 100644 index d425c3cce..000000000 --- a/fuzz/corpus/fuzz_config/0dfcfaf91c524f3982a883227fd2de87906e6bb0 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb b/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb Binary files differdeleted file mode 100644 index 0053008b5..000000000 --- a/fuzz/corpus/fuzz_config/3036bf1df14f0ad0c2b5614e51789f575af97dfb +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/3243ac924573c7a3687f8aac1ca5bfa11fb89b7a b/fuzz/corpus/fuzz_config/3243ac924573c7a3687f8aac1ca5bfa11fb89b7a Binary files differdeleted file mode 100644 index 1eabadc56..000000000 --- a/fuzz/corpus/fuzz_config/3243ac924573c7a3687f8aac1ca5bfa11fb89b7a +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013 b/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013 Binary files differdeleted file mode 100644 index 05a402637..000000000 --- a/fuzz/corpus/fuzz_config/3bf49bd80bf3c787f49222fc50c41f48f85fa013 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833 b/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833 Binary files differdeleted file mode 100644 index 9c2b1e5c6..000000000 --- a/fuzz/corpus/fuzz_config/3f22430a14710ba1d01f3547b60aded67efb9833 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511 b/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511 Binary files differdeleted file mode 100644 index dffcb7aa1..000000000 --- a/fuzz/corpus/fuzz_config/4714c051ed397aa1778184fc9ba513f77f17a511 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0 b/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0 Binary files differdeleted file mode 100644 index da1238a44..000000000 --- a/fuzz/corpus/fuzz_config/4e873d14a5b6764f075247f14e69a615a9c702d0 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/4fb64ad53f9797dcaf8b9e28ec77adceb22340aa b/fuzz/corpus/fuzz_config/4fb64ad53f9797dcaf8b9e28ec77adceb22340aa Binary files differdeleted file mode 100644 index d2c73ae0f..000000000 --- a/fuzz/corpus/fuzz_config/4fb64ad53f9797dcaf8b9e28ec77adceb22340aa +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/5d9677c7a2ad657e021b83e2a231e4a61ff7375b b/fuzz/corpus/fuzz_config/5d9677c7a2ad657e021b83e2a231e4a61ff7375b Binary files differdeleted file mode 100644 index 6e933a4d9..000000000 --- a/fuzz/corpus/fuzz_config/5d9677c7a2ad657e021b83e2a231e4a61ff7375b +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e b/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e Binary files differdeleted file mode 100644 index 267619009..000000000 --- a/fuzz/corpus/fuzz_config/685a648c4186681d6e5a663fa7797d424dd8181e +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021 b/fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021 Binary files differdeleted file mode 100644 index 23259edba..000000000 --- a/fuzz/corpus/fuzz_config/77281fce6fb40a568b750e97b356153447f92021 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be b/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be Binary files differdeleted file mode 100644 index ff311b19c..000000000 --- a/fuzz/corpus/fuzz_config/7b261995a0ed0a8b6ca544edfd56765963d113be +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c b/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c Binary files differdeleted file mode 100644 index f7835fe77..000000000 --- a/fuzz/corpus/fuzz_config/828f8f1454722c92c14f9b25ad776eb5e676459c +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63 b/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63 Binary files differdeleted file mode 100644 index a9f5bc14c..000000000 --- a/fuzz/corpus/fuzz_config/8bb38a19254c0d699e4d551a9ff65bc7a99e9a63 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf b/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf Binary files differdeleted file mode 100644 index 394b628e0..000000000 --- a/fuzz/corpus/fuzz_config/907d8cd14928d4035594a91347a407857b868baf +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360 b/fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360 Binary files differdeleted file mode 100644 index 29e3c6d15..000000000 --- a/fuzz/corpus/fuzz_config/a79e2ad75b81e48a7e7153d9f1d2a60740e04360 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4 b/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4 Binary files differdeleted file mode 100644 index 22c00b7af..000000000 --- a/fuzz/corpus/fuzz_config/b160a30be750571b70090c2811c25d0c6ba460d4 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32 b/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32 Binary files differdeleted file mode 100644 index 2b7ced466..000000000 --- a/fuzz/corpus/fuzz_config/b46ee834ea6b1b6b860bbcc0bfad3de77ec72d32 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/b791553ea6d3ad8415c7bd462ca18482dd9eaadf b/fuzz/corpus/fuzz_config/b791553ea6d3ad8415c7bd462ca18482dd9eaadf Binary files differdeleted file mode 100644 index c885c76cf..000000000 --- a/fuzz/corpus/fuzz_config/b791553ea6d3ad8415c7bd462ca18482dd9eaadf +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/c3cd2ec494821a138c82f087290f8cf105bf41e7 b/fuzz/corpus/fuzz_config/c3cd2ec494821a138c82f087290f8cf105bf41e7 Binary files differdeleted file mode 100644 index b24588d19..000000000 --- a/fuzz/corpus/fuzz_config/c3cd2ec494821a138c82f087290f8cf105bf41e7 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec b/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec Binary files differdeleted file mode 100644 index 64aa513d2..000000000 --- a/fuzz/corpus/fuzz_config/cbf4471e64914dc5eb45a1de426f42723c703cec +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08 b/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08 Binary files differdeleted file mode 100644 index cd8e2ffec..000000000 --- a/fuzz/corpus/fuzz_config/ccc5d3518a38a1c9c89139202aac46507a7b9f08 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db b/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db Binary files differdeleted file mode 100644 index 81d59ad0c..000000000 --- a/fuzz/corpus/fuzz_config/ccd00f1345fccd5b8435039f30fc6f27639029db +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 b/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 Binary files differdeleted file mode 100644 index 7b92ee675..000000000 --- a/fuzz/corpus/fuzz_config/d874a185c26c951bf84d9a7d69e00ffb56b0e563 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/d8c164d651c3d986e00694838757e33d54cf38ee b/fuzz/corpus/fuzz_config/d8c164d651c3d986e00694838757e33d54cf38ee Binary files differdeleted file mode 100644 index 6673a8e51..000000000 --- a/fuzz/corpus/fuzz_config/d8c164d651c3d986e00694838757e33d54cf38ee +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1 b/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1 Binary files differdeleted file mode 100644 index fdcee70a9..000000000 --- a/fuzz/corpus/fuzz_config/e063dec4ae4ac11531c42b97ff54614517327eb1 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/e2f04c963eacfd329b213aae9910639b3e8f9ca5 b/fuzz/corpus/fuzz_config/e2f04c963eacfd329b213aae9910639b3e8f9ca5 Binary files differdeleted file mode 100644 index 74fca6df9..000000000 --- a/fuzz/corpus/fuzz_config/e2f04c963eacfd329b213aae9910639b3e8f9ca5 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13 b/fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13 Binary files differdeleted file mode 100644 index 8caa90571..000000000 --- a/fuzz/corpus/fuzz_config/ecf80e7622e869e8783e6bf9be48bc1dd4a61c13 +++ /dev/null diff --git a/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833 b/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833 Binary files differdeleted file mode 100644 index 402b241c1..000000000 --- a/fuzz/corpus/fuzz_config/fea0c8b59dc63399afd8a0e6eab1753c444e4833 +++ /dev/null diff --git a/fuzz/fuzz_common_code.c b/fuzz/fuzz_common_code.c index b48fa9133..1344e8516 100644 --- a/fuzz/fuzz_common_code.c +++ b/fuzz/fuzz_common_code.c @@ -57,6 +57,8 @@ void fuzz_init_detection_module(struct ndpi_detection_module_struct **ndpi_info_ NDPI_BITMASK_SET_ALL(all); ndpi_set_protocol_detection_bitmask2(*ndpi_info_mod, &all); + ndpi_set_config(*ndpi_info_mod, NULL, "filename.config", "config.txt"); + ndpi_finalize_initialization(*ndpi_info_mod); } } diff --git a/fuzz/fuzz_config.cpp b/fuzz/fuzz_config.cpp index afd9367fb..573f6ecbe 100644 --- a/fuzz/fuzz_config.cpp +++ b/fuzz/fuzz_config.cpp @@ -28,21 +28,12 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_proto p, p2; char out[128]; char log_ts[32]; + int value; + char cfg_value[32]; - if(fuzzed_data.remaining_bytes() < 4 + /* ndpi_init_detection_module() */ - NDPI_MAX_SUPPORTED_PROTOCOLS + NDPI_MAX_NUM_CUSTOM_PROTOCOLS + - 1 + /* TLS cert expire */ - 6 + /* files */ - ((NDPI_LRUCACHE_MAX + 1) * 5) + /* LRU caches */ - 2 + 1 + 4 + /* ndpi_set_detection_preferences() */ - 7 + /* Opportunistic tls */ - 2 + /* Pid */ - 2 + /* Category */ - 1 + /* Tunnel */ - 1 + /* Bool value */ - 2 + /* input_info */ - 21 /* Min real data: ip length + 1 byte of L4 header */) + /* Just to be sure to have some data */ + if(fuzzed_data.remaining_bytes() < NDPI_MAX_SUPPORTED_PROTOCOLS * 2 + 200) return -1; /* To allow memory allocation failures */ @@ -101,9 +92,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { if(fuzzed_data.ConsumeBool()) ndpi_set_detection_preferences(ndpi_info_mod, ndpi_pref_enable_tls_block_dissection, 0 /* unused */); - if(fuzzed_data.ConsumeBool()) - ndpi_set_detection_preferences(ndpi_info_mod, ndpi_pref_max_packets_to_process, - fuzzed_data.ConsumeIntegralInRange(0, (1 << 16))); ndpi_set_detection_preferences(ndpi_info_mod, static_cast<ndpi_detection_preference>(0xFF), 0xFF); /* Invalid preference */ @@ -126,6 +114,17 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { ndpi_get_protocol_aggressiveness(ndpi_info_mod, i); } + if(fuzzed_data.ConsumeBool()) { + value = fuzzed_data.ConsumeIntegralInRange(0, 1 + 1); + sprintf(cfg_value, "%d", value); + ndpi_set_config(ndpi_info_mod, "tls", "metadata.sha1_fingerprint.enable", cfg_value); + } + if(fuzzed_data.ConsumeBool()) { + value = fuzzed_data.ConsumeIntegralInRange(0, 255 + 1); + sprintf(cfg_value, "%d", value); + ndpi_set_config(ndpi_info_mod, NULL, "packets_limit_per_flow", cfg_value); + } + ndpi_finalize_initialization(ndpi_info_mod); /* Random protocol configuration */ |