On 2014-09-29 20:17, Simon Kelley wrote:
On 27/09/14 11:01, Roy Marples wrote:
On Friday 26 Sep 2014 21:14:20 Simon Kelley wrote:
This is just a heads-up that if you're using the --dhcp-script option in
dnsmasq, and the script you're calling is being interpreted by bash,
then you're affected by the shellshock bug.

The bug allows execution of arbitrary code contained in the values of
environment variables, and there are several variables in the
environment inherited by the DHCP script whose values can be set
directly by a DHCP client, so any DHCP client on your network (or
elsewhere, if your firewall allows) can execute arbitrary shellcode,
probably as root, with a simple DHCP request.

The fix, of course, is to update bash.

What's your reason for not sanitising the variables?

I just released dhcpcd-6.4.7 which fixes this exact issue. I changed from using my custom sanitiser to svis(3) with VIS_CSTYLE | VIS_OCTAL and the
output can be decoded using unvis(1).
Oddly enough this encoding matches the style dhcpcd was using previously which
is a nice win for me.

In the cold light day after shellshock I've come to the conclusion that you're right am I'm wrong. Admittedly I was swayed by a SUSE security report which dealt with badly quoted shell scripts which addressed the issue by introducing some sanistisation into dhcpcd and I went from there.

Now, dhcpcd just sanistises according to the option encoding. So as most string options specify ASCII NVT dhcpcd will ensure that's what you get, stopping at the first invalid or non printable character. There are other encoding types such as domain, ascii, raw and binhex which will satisfy everything hopefully.
No more shell sanitising!

Roy

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss

Reply via email to