1.1, Аноним (-), 12:10, 08/02/2017 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
А в чём практический смысл? Если я уже нахожусь на сервере и могу пользоваться кнопкой tab, то что мешает мне просто запустить скрипт без автодополнения?
| |
|
2.2, Аноним (-), 12:17, 08/02/2017 [^] [^^] [^^^] [ответить]
| +13 +/– |
Можно оставить такой файл в системе и надеяться, что администратор под рутом нажмёт на таб.
| |
|
3.4, Аноним (-), 12:29, 08/02/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
Администратор под рутом не должен запускать скрипты, которые можно было редактировать обычным пользователем.
| |
|
|
3.19, Аноним (-), 14:21, 08/02/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> дистрибутивы, где раздают беспарольное sudo, например.
Например PuppyLinux
| |
|
4.22, Аноним (-), 15:20, 08/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
Он как бы специализированный. И кстати в режиме LiveUSB в Ubuntu есть sudo, тоже беспарольный.
| |
|
|
|
1.10, Аноним (-), 13:18, 08/02/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –10 +/– |
традиционный опеннет - читать по-английски люди не умеют, но новость ляпнуть норовят.
А теперь что на самом деле: когда bash делает tab-expansion - он неверно расставляет кавычки и экранирующие слэши в сложных случаях. enter нажимать, чтобы выполнить код - тебе, дорогой анон, придется самому, от простого нажатия tab ничего интересного в твоей системе не произойдет.
Ну и мораль сей басни понятная - нажав таб и обнаружив, что у тебя вылезла какая-то нёх с управляющими символами - не надо нажимать enter, никогда, ни в bash, ни в чем-то еще. find -exec или xargs -0 rm ваши лучшие друзья.
| |
|
2.11, Аноним (-), 13:27, 08/02/2017 [^] [^^] [^^^] [ответить]
| +6 +/– |
Знатно ты в лужу газанул.
$ ls
'"'touch HereBeDragons''
$ ./\"\'touch\ HereBeDragons\'/^C
$ ls
HereBeDragons '"'touch HereBeDragons''
$ echo $BASH_VERSION
4.4.0(1)-release
| |
2.15, Аноним (-), 13:36, 08/02/2017 [^] [^^] [^^^] [ответить]
| +4 +/– |
> от простого нажатия tab ничего интересного в твоей системе не произойдет.
"We can create a file with a specially crafted file name. A
user trying to use bash' path completion feature ('TAB-completion') on
this file will execute shell code without any additional actions taken."
| |
|
3.20, пох (?), 14:45, 08/02/2017 [^] [^^] [^^^] [ответить]
| –3 +/– |
> this file will execute shell code without any additional actions taken."
кто-то может подтвердить? (нету у меня новых-модных систем, свежайший bash из доступных - 4.1 )
Если у них tab completion _исполняет_код_ до нажатия enter (и неважно, сам я его набрал или подсунули через баг с кавычками), чиста чтоб посмотреть нельзя ли потом еще что-то дописать в конец строки - это какой-то феерический п-ц, не надо мне ТАКОГО автодополнения. То есть это вообще не ошибка, это design flaw.
Из приведенных в pdf'е кусков кода и коммита b25f9dcb9e3 это, мягко говоря, неочевидно.
| |
|
4.21, Аноним (-), 15:18, 08/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
Вон выше есть код для проверки. Собрал bash и проверил, работает как описано.
| |
|
5.23, . (?), 15:57, 08/02/2017 [^] [^^] [^^^] [ответить]
| –4 +/– |
> Вон выше есть код для проверки. Собрал bash и проверил, работает как описано.
а руками набранный? cd "/'touch /dev/shm/delme'<tab> ?
(не собирать же мне это уродство ради проверки... тем более, что если подтвердится - вообще низачем не надо его собирать, его разобрать надо где собрано и думать, чем заменять)
| |
|
|
|
2.17, Аноним (-), 13:46, 08/02/2017 [^] [^^] [^^^] [ответить]
| +2 +/– |
Написано, что запускать не нужно, достаточно tab нажать.
"A user utilizing GNU Bash’s built-in path completion by hitting the Tab button (f.e.
to remove it with rm) triggers the exploit without executing a command itself."
| |
2.18, Аноним (-), 13:51, 08/02/2017 [^] [^^] [^^^] [ответить]
| +3 +/– |
Это ты не так понял, в новости всё правильно написано. Для запуска кода достаточно нажать tab, не нажимая enter.
| |
|
|
2.16, Аноним (-), 13:42, 08/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Ну хоть su без дырок?
Программы без дырок? Насмешил. А если даже были бы идеальные программы в вакууме, обнаружились бы дырки в железе.
| |
|
1.24, Марицуми (?), 15:58, 08/02/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
На что переходить теперь, на zsh? Чтобы поменьше решета. А то шеллшок на шеллшоке сидит в самом деле.
| |
|
2.27, пох (?), 18:31, 08/02/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> На что переходить теперь, на zsh? Чтобы поменьше решета.
ответ зависит от того заминусованного вопроса - cработает ли "эксплойт" не для имени файла, а для вручную набранного того же самого. Если это какая-то хитрожопая ошибка где-то именно в коде для file completion, то можно хоть на zsh, если ты можешь им пользоваться,почему же нет. Ну или просто bash откатить до пресловутого коммита, вряд ли там что-то, чем ты пользуешься каждый день.
А вот если это таки баш без объявленя войны начал исполнять бэктикнутый код только ради того чтобы увидеть, не может ли он на его конце добавить комплешн - то бежать надо уже бросая обоз. Потому что это означает полное безумие авторов, они тебе еще не один такой фокус подкинут, если не завтра, так через год.
К сожалению, вряд ли у тебя получится заменить zsh'ем /bin/sh - а начинать, во втором случае, надо с этого.
| |
|
|
4.41, пох (?), 23:47, 08/02/2017 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Сабжевая уязвимость не в bash-completion, а именно в самом голом bash 4.4 с тупым
> автодополнением по filename/PATH.
было б оно тупое - не было б уязвимости. А оно не тупое - пытается исполнять команду до того, как ее до конца набрали, ну ахренеть, дайте две (это хорошо коли две, а не двадцать две).
> В GNU вообще слышали про юнит-тесты, всякое такое?
ну а откуда возьмется юнит-тест, если раньше такой проблемы не было? Это ж надо было догадаться о возможности ее появления. А от юниттеста на функциональность этой фичи - ни жарко, ни холодно, он-то может и есть (и выдал положительный результат, completion-то сработал ;-)
Ну и внимания zsh'у уделяется в разы меньше - так что о качестве кода, к сожалению, число cve ничего не говорит.
P.S. интересно, сколько было уязвимостей в bash-1.14.7 ? И кто может сходу назвать ситуацию, когда ему нужна версия новее.
| |
|
|
|
|
|
3.45, PereresusNeVlezaetBuggy (ok), 07:58, 09/02/2017 [^] [^^] [^^^] [ответить]
| –2 +/– |
> А почему в ал те баш а не какой нибудь zsh
Ребят, вы смеётесь? Уж на что bash развесистый в плане фич, так zsh его обходит. Так что менять bash на zsh глупо. Уж скорее в сторону (PD)KSH надо смотреть...
| |
|
4.47, Michael Shigorin (ok), 16:05, 09/02/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
>> А почему в ал те баш а не какой нибудь zsh
> Ребят, вы смеётесь? Уж на что bash развесистый в плане фич,
> так zsh его обходит. Так что менять bash на zsh глупо.
> Уж скорее в сторону (PD)KSH надо смотреть...
Как многолетний пользователь zsh, майнтейнер пакета pdksh и ловец плюх в (d)ash никак не могу согласиться -- в качестве интерактивного шелла мне всё-таки оптимален именно zsh. :)
| |
|
5.49, пох (?), 00:17, 10/02/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
ты лучше скажи, на что менять /bin/sh ? Учитывая миллион кривых скриптов (да хоть в тех же rpm'ах) которые радостно развалятся если его заменить чем-то недостаточно похожим на bash.
Ну и отдельно - что делать со скриптами где явно #!/bin/bash - кроме как, конечно, найти и убить их авторов, но это задача не на одно столетие, они размножаются.
Перейти на one true 1.14.7? Так в нем наверняка тоже дыр полно.
| |
|
6.51, Michael Shigorin (ok), 00:47, 10/02/2017 [^] [^^] [^^^] [ответить]
| –1 +/– |
> ты лучше скажи, на что менять /bin/sh ?
У нас это собранный по минимуму bash3 (по крайней мере доныне).
| |
|
7.52, пох (?), 12:16, 10/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
> У нас это собранный по минимуму bash3
ну и вот чего в нем хорошего? Дыр в нем - было, сколько неанонсированных или вообще незамеченных и просто выброшенных вместе с кусками кода, переделанного в 4 - неведомо.
Не-ет, вниз это не наш путь.
| |
|
6.54, Аноним (-), 16:41, 11/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
Почему никто уничижительно не вопит про "те, кто пишет #!/bin/bash, а не #!/usr/bin/env bash" ? Что случилось с opennet-ом?
| |
|
|
|
|
|
|
2.50, пох (?), 00:18, 10/02/2017 [^] [^^] [^^^] [ответить]
| +/– |
> Кстати: "культура" коммитов удивительно уродская для такого проекта.
для проекта, начатого во времена sccs - неудивительно.
| |
|
1.40, Аноним (-), 22:32, 08/02/2017 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Так не работает же.
GNU bash, version 4.4.11(1)-release (x86_64-unknown-linux-gnu)
| |
|