From 2f9b60f3e709db4de3df863b3b80733c99d68bc6 Mon Sep 17 00:00:00 2001 From: orbisai0security Date: Thu, 14 May 2026 10:56:14 +0000 Subject: [PATCH] fix: V-008 security vulnerability Automated security fix generated by Orbis Security AI Signed-off-by: orbisai0security --- src/proxy_lib/proxy_lib.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/proxy_lib/proxy_lib.c b/src/proxy_lib/proxy_lib.c index 8d6d3495c..e24b8907d 100644 --- a/src/proxy_lib/proxy_lib.c +++ b/src/proxy_lib/proxy_lib.c @@ -74,8 +74,10 @@ void utils_init_once(UTIL_ONCE_FLAG *flag, void (*onceCb)(void)); #else /* Linux *************************************************/ +#include #include #include +#include #include "utils_concurrency.h" @@ -222,7 +224,14 @@ void proxy_lib_create_common(void) { char shm_name[NAME_MAX]; memset(shm_name, 0, NAME_MAX); - sprintf(shm_name, "umf_proxy_lib_shm_pid_%i", utils_getpid()); + unsigned int rand_val = 0; + int urand_fd = open("/dev/urandom", O_RDONLY); + if (urand_fd >= 0) { + (void)read(urand_fd, &rand_val, sizeof(rand_val)); + close(urand_fd); + } + snprintf(shm_name, NAME_MAX, "umf_proxy_lib_shm_pid_%i_%08x", + utils_getpid(), rand_val); umf_result = umfOsMemoryProviderParamsSetShmName(os_params, shm_name); if (umf_result != UMF_RESULT_SUCCESS) { LOG_FATAL("setting shared memory name failed");