CVE-2014-6271: віддалене виконання коду в Bash

Сьогодні були опубліковані деталі про уразливості в Bash.
Коротенько, Bash дозволяє експортувати функції як змінні оточення:

$ myfunc() { echo "Привіт"; }
$ export-f myfunc
$ env | grep-A1 ^myfunc
myfunc=() { echo "Привіт"
}


Дефект полягає в тому, що якщо після тіла функції (після останнього символу "}") додати ще якусь команду, і експортувати її — вона буде виконана при виклику дочірнього інтерпретатора:

$ env x='() { :; }; echo "Oh..."' /bin/bash-c /sbin/nologin
Oh...
This account is currently not available.


Це, в свою чергу, дозволяє робити цікаві речі — наприклад, якщо у вас є CGI-скрипт на Perl, який викликає Bash — атакакующий може сконструювати HTTP-пакет, який буде містити шкідливий код. Цей код через змінні оточення потрапить в Bash — і буде виконаний.

Уразливі всі версії Bash, включаючи bash-3.0.
У певних колах вразливість прозвали «Bashdoor» — воно й не дивно.

Більше деталей можна легко нагуглити за ідентифікатором CVE.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.