From 4a97baf2b4cebfa50c802c0281695ef3a5a17b82 Mon Sep 17 00:00:00 2001 From: "Roger A. Light" Date: Thu, 29 Feb 2024 21:54:18 +0000 Subject: [PATCH] Fix file perms for fuzzers --- fuzzing/apps/db_dump/db_dump_fuzz_load.cpp | 3 +++ fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp | 3 +++ fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp | 3 +++ fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp | 3 +++ fuzzing/broker/broker_fuzz.cpp | 2 ++ fuzzing/broker/broker_fuzz_acl_file.cpp | 2 +- fuzzing/broker/broker_fuzz_password_file.cpp | 2 +- fuzzing/broker/broker_fuzz_psk_file.cpp | 2 +- fuzzing/broker/broker_fuzz_test_config.cpp | 3 +++ fuzzing/broker/broker_fuzz_with_init.cpp | 2 ++ fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp | 3 +++ 11 files changed, 25 insertions(+), 3 deletions(-) diff --git a/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp b/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp index dd62fc53..17c0e140 100644 --- a/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp +++ b/fuzzing/apps/db_dump/db_dump_fuzz_load.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include /* @@ -48,6 +49,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/db_dump_%d.db", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1; diff --git a/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp b/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp index 070e4af6..dc7fc676 100644 --- a/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp +++ b/fuzzing/apps/db_dump/db_dump_fuzz_load_client_stats.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include /* @@ -50,6 +51,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/db_dump_client_stats_%d.db", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1; diff --git a/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp b/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp index e0709864..baabd5a3 100644 --- a/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp +++ b/fuzzing/apps/db_dump/db_dump_fuzz_load_stats.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include /* @@ -50,6 +51,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/db_dump_stats_%d.db", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1; diff --git a/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp b/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp index c9fbff7c..0655be88 100644 --- a/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp +++ b/fuzzing/apps/mosquitto_passwd/mosquitto_passwd_fuzz_load.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include /* @@ -54,6 +55,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/mosquitto_passwd_%d", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1; diff --git a/fuzzing/broker/broker_fuzz.cpp b/fuzzing/broker/broker_fuzz.cpp index 7b3698ac..e4b382a8 100644 --- a/fuzzing/broker/broker_fuzz.cpp +++ b/fuzzing/broker/broker_fuzz.cpp @@ -25,6 +25,7 @@ Contributors: #include #include #include +#include #include #include "broker_fuzz.h" @@ -101,6 +102,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) } signal(SIGPIPE, SIG_IGN); + umask(0077); memset(&fuzz, 0, sizeof(fuzz)); fuzz.port = PORT; diff --git a/fuzzing/broker/broker_fuzz_acl_file.cpp b/fuzzing/broker/broker_fuzz_acl_file.cpp index 4a25621c..bdd05d97 100644 --- a/fuzzing/broker/broker_fuzz_acl_file.cpp +++ b/fuzzing/broker/broker_fuzz_acl_file.cpp @@ -20,8 +20,8 @@ Contributors: #include #include #include -#include #include +#include /* * Broker check of acl file diff --git a/fuzzing/broker/broker_fuzz_password_file.cpp b/fuzzing/broker/broker_fuzz_password_file.cpp index 7bf7741e..933900c5 100644 --- a/fuzzing/broker/broker_fuzz_password_file.cpp +++ b/fuzzing/broker/broker_fuzz_password_file.cpp @@ -20,8 +20,8 @@ Contributors: #include #include #include -#include #include +#include /* * Broker check of password file diff --git a/fuzzing/broker/broker_fuzz_psk_file.cpp b/fuzzing/broker/broker_fuzz_psk_file.cpp index d191795f..38ac7986 100644 --- a/fuzzing/broker/broker_fuzz_psk_file.cpp +++ b/fuzzing/broker/broker_fuzz_psk_file.cpp @@ -20,8 +20,8 @@ Contributors: #include #include #include -#include #include +#include /* * Broker check of psk file diff --git a/fuzzing/broker/broker_fuzz_test_config.cpp b/fuzzing/broker/broker_fuzz_test_config.cpp index dd6f7cc0..c8ea405f 100644 --- a/fuzzing/broker/broker_fuzz_test_config.cpp +++ b/fuzzing/broker/broker_fuzz_test_config.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include /* @@ -54,6 +55,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/mosquitto_%d.conf", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1; diff --git a/fuzzing/broker/broker_fuzz_with_init.cpp b/fuzzing/broker/broker_fuzz_with_init.cpp index 6136d348..9a5eca94 100644 --- a/fuzzing/broker/broker_fuzz_with_init.cpp +++ b/fuzzing/broker/broker_fuzz_with_init.cpp @@ -25,6 +25,7 @@ Contributors: #include #include #include +#include #include #include "broker_fuzz.h" @@ -95,6 +96,7 @@ static bool initialise(pthread_t *thread) FILE *fptr; signal(SIGPIPE, SIG_IGN); + umask(0077); fptr = fopen("/tmp/mosquitto.conf", "wb"); if(!fptr){ diff --git a/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp b/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp index 9d854dbd..c53ea0c5 100644 --- a/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp +++ b/fuzzing/plugins/dynamic-security/dynsec_fuzz_load.cpp @@ -20,6 +20,7 @@ Contributors: #include #include #include +#include #include #ifdef __cplusplus @@ -67,6 +68,8 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) char filename[100]; FILE *fptr; + umask(0077); + snprintf(filename, sizeof(filename), "/tmp/dynsec%d.conf", getpid()); fptr = fopen(filename, "wb"); if(!fptr) return 1;