]> git.proxmox.com Git - pve-network.git/commitdiff
dhcp: dnsmasq: untaint when deleting configuration files
authorStefan Hanreich <s.hanreich@proxmox.com>
Tue, 28 Nov 2023 08:58:57 +0000 (09:58 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Wed, 29 Nov 2023 10:04:37 +0000 (11:04 +0100)
The current invocation is quite unsafe and triggers the taint mode of
Perl that is enabled for our API daemons, but not pvesh used on
cluster-wide apply.
Replacing it with dir_glob_foreach solves those issues.

Reported-By: Friedrich Weber <f.weber@proxmox.com>
Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
src/PVE/Network/SDN/Dhcp/Dnsmasq.pm

index e65e97357db9a4ec72c8bf164dce8d2326c8973f..2844943e66eedc168857a4357215da50b68e3c3e 100644 (file)
@@ -234,7 +234,13 @@ CFG
        $default_dnsmasq_config
     );
 
-    unlink glob "$config_directory/10-*.conf";
+    my @config_files = ();
+    PVE::Tools::dir_glob_foreach($config_directory, '10-.*\.conf', sub {
+       my ($file) = @_;
+       push @config_files, "$config_directory/$file";
+    });
+
+    unlink @config_files;
 }
 
 sub after_configure {