ndsudo setuid before looking for command (#18189)
Ilya Mashchenko committed
Jul 17, 2024 at 12:22 UTC
e908d3bd514d211cd694361b247bfd448005ba3b
1 file changed
+4
-4
src/collectors/plugins.d/ndsudo.c
+4
-4
@@ -392,6 +392,10 @@ int main(int argc, char *argv[]) {
392
char new_path[] = "PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin";
393
putenv(new_path);
394
395
+ setuid(0);
396
+ setgid(0);
397
+ setegid(0);
398
+
399
bool found = false;
400
char filename[FILENAME_MAX];
401
@@ -429,10 +433,6 @@ int main(int argc, char *argv[]) {
433
exit(0);
434
}
435
else {
432
- setuid(0);
433
- setgid(0);
434
- setegid(0);
435
-
436
char *clean_env[] = {NULL};
437
execve(filename, params, clean_env);
438
perror("execve"); // execve only returns on error