Shellshock уязвимост на bash shell - как да се предпазим
Shellshock е уязвимост, която наскоро бе открита в командния интерпретатор Bash за Unix базирани системи. Тази уязвимост позволява неуторизирано изпълнение на команди, които се изпълняват непосредствено след задаване на променлива на средата (environment variable). Shellshock съществува от четвърт век, но до сега не беше открито, че чрез нея може да се изпълнява зловреден код в bash shell за да се достъпи конфиденциална информация.
За да може да се експлоатира въпросният бъг, е нужно да има услуги даващи право за назначаване на гореспоменатите променливи. Например:
Apache, работещо с CGI скриптове, написани на Bash или извикващи дъщерни шелове
Някои DHCP клиенти
OpenSSH сървъри, използващи ForceCommand
Shellshock уязвимостта е по-широко разпространена и по-лесно експлоатируема от Heartbleed бъга, който беше толкова нашумял преди няколко месеца. За да се предпазите е добре да направите обновление до новата, пачната версия на Bash. Използваната дистрибуция трябва да има активен съпорт - стари версии като CentOS 4 и Debian 5 нямат поддръжка и съответно при тях е нужно Bash да бъде компилиран и заменен ръчно.
Как можете да разберете дали вашата машина е уязвима?
Като изпълните следната команда:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Ако изпълнението върне два реда с вид:
vulnerable
this is a test
компютърът е с уязвима версия на Bash и е добре версията да бъде обновена максимално бързо.
Ако изпълнената команда върне само един ред:
this is a test
то вие използвате вече обновена версия на Bash.
Етикети: #apache #environment-variable #unix-linux #cgi-skriptove #heartbleed #debian-5 #centos-4 #bash #shell #shellshock #dhcp #openssh #linux-uyazvimost