в первом прочтении дебиановского объявления и арчевского коммита я предположил, что через переменные среды можно вбросить функцию с желаемым названием (т.е. например заменить своей функцией какой-нибудь cat, sed, похуйчо)
но нет, бага не в этом, функция называется нормально, бага в том, что после её определения баш весь остаток строки выполняет как код
В общем пример использования (для вызова из веба соответствующий заголовок будет называться Hooy):
$ export HTTP_HOOY='() { hui; }; /bin/date'
$ bash
Wed Sep 24 18:40:44 MSK 2014
$
У мну написанный на MoonScript и скомпилённый из него в Lua мелий говносервер Gopher, работающий под xinetd на OpenWrt в роутере над входной дверью. Я не дорос до CGI и поэтому сплю спокойно =).
@mugiseyebrows нет, с sh если это dash всё нормич, через похапэ вызывающее баш тоже не получилось, у похапэ другие энвы, но наверное это возможно раз лях сказал и на хабре написали
А если найти суидный бинарь, который не чистит переменные и запускает баш? Или запускать баш в суидном бинаре уже решето?
@l29ah 1. Традиционный инфосековский фейспалм «как можно было такое допустить?»
2. Игра слов с «bash».