Sia dhclient
che dhcpcd
chiamano script di configurazione che invocano una shell di sistema, quindi sono vulnerabili.
Tuttavia , in base ai miei test sembra che tu possa eseguire almeno dhcpcd
correttamente senza lo script di configurazione (se rinomini / sposti lo script):
$ pkill dhcpcd
$ ping -c 1 www.google.com
ping: unknown host www.google.com
$ mv /usr/lib/dhcpcd/dhcpcd-run-hooks /usr/lib/dhcpcd/dhcpcd-run-hooks-disabled
$ dhcpcd
dhcpcd[29057]: version 6.4.3 starting
dhcpcd[29057]: script_runreason: /usr/lib/dhcpcd/dhcpcd-run-hooks: WEXITSTATUS 127
(...)
dhcpcd[29057]: forked to background, child pid 29069
$ ping -c 1 www.google.com
PING www.google.com (74.125.232.240) 56(84) bytes of data.
64 bytes from arn06s07-in-f16.1e100.net (74.125.232.240): icmp_seq=1 ttl=54 time=16.4 ms
(...)
Come puoi vedere, c'è un avvertimento, ma alla fine la connessione è stabilita.
Probabilmente ci saranno alcune cose (ad es. dominio) che non sono impostate correttamente, quindi questa è una soluzione hacker. Ho non testato su una rete WiFi, potrebbe fallire lì.
Modifica: basato su strings /usr/bin/dhcpcd
sembra che il percorso dello script sia hard-coded.