Пользователи экспериментальных репозиториев Debian Testing и Unstable столкнулись (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=852751) с заслуживающей внимания проблемой (https://github.com/tomm/cryptkeeper/issues/23): Cryptkeeper (https://github.com/tomm/cryptkeeper), GNOME-апплет для организации работы с шифрованными каталогами, перестал обрабатывать задаваемые пользователем пароли. После создания шифрованного каталога, указанный пароль не подходил для последующего доступа к нему, так как для создаваемых в Cryptkeeper шифрованных каталогов всегда стал устанавливаться пароль "p".Проблема оказалась связана с переносом в debian-пакет EncFS (Cryptkeeper является надстройкой над EncFS)
исправления (https://github.com/vgough/encfs/commit/c3a7da5eff4055e77dc94...), устраняющего крах (https://bugzilla.redhat.com/show_bug.cgi?id=1390107) при передаче пустого пароля. Попутно в исправлении была изменена логика передачи пароля в командной строке. Исправление пока не вошло в состав релиза EncFS, поэтому осталось незамеченным в дистрибутивах Linux, кроме нестабильных репозиториев Debian.При создании шифрованного каталога Cryptkeeper вызывал (https://github.com/tomm/cryptkeeper/blob/de57c19e14ddd86eaaa...) команду encfs при помощи следующей конструкции:
execlp ("encfs", "encfs", "-S", crypt_dir, mount_dir, NULL);
...
write (fd[1], "p\n", 2);
write (fd[1], password, strlen (password));
write (fd[1], "\n", 1);
Опция "-S" определяла режим передачи пароля через стандартный ввод, а первая строка "p\n" указывала на активацию параноидального режима:$ encfs -S ~/cipher ~/plain/
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?> p
Вышеотмеченное исправление в encfs привело к изменению интерфейса командной строки и прекращению обработки команд активации дополнительных режимов, что привело к тому, что пароль стал передаваться в первой строке, т.е. ранее воспринимаемый как команда символ "p" стал обрабатываться как пароль и любые операции создания шифрованной директории сводились к передаче пароля "p", независимо от пароля, заданного пользователем. При попытке монтирования в encfs передавался нормальный пользовательский пароль, что приводило к проблемам с расшифровкой.
Автор Cryptkeeper полагал, что интерфейс "encfs -S" является стабильным способом манипуляции с encfs, а на деле всё оказалось не так. Разработчики encfs указали на то, что изменение произведено в находящейся в разработке кодовой базе и будет отменено, так как
непреднамеренно нарушает ABI. В релиз данные изменения не входили. Логика изменения была в том, что обычно для монтирования пытаются использовать команду "echo 'qwerty'| encfs -S $(pwd)/a $(pwd)/b", которая также приводится в некоторых примерах (http://jc.coynel.net/2013/09/reading-a-encfs-volume-password.../). Кроме того, в документации опция "-S" определена только для монтирования директорий, но не для их создания. По сути Cryptkeeper использовал недокументированную возможность.
URL: https://news.ycombinator.com/item?id=13519482
Новость: http://www.opennet.me/opennews/art.shtml?num=45960
- Хьюстон у нас проблемы !
- p
int get_random()
{
return 4;
};
Это все ФИДОшники!
кащениты
У них с Н тема была
1. Все пароли ведут в Р
2. Шифры детям не игрушка
3. Ты думаешь здесь один такой умный.
Правая рука не знает, что делает левая
зато версия же самая свежайшая, школьники оценили бы
"— Ах, так все эти “Пы” были Пятачки? А я думал, это были Пухи." (с)
ну, на то тестинг и существует
Тоже мне додумались использовать синтаксис командной строки для межпрограммного взаимодействия.
Oh shi.. это же весь Юникс такой...
Это боль... На предыдущем месте работы небольшие программки на сишечке были как скрипты на каком-нибудь шелле
толсто же
лучше про гвнмамонтного наслоения исторического вантузного апи попробуй потролить - уже тоньше полюбому выйдет
Ну, он действительно тот ещё тролль, поскольку никсы не "такие". Но, строго говоря, для подобных операций действительно надо бы использовать фиксированный API программы, а не аргументы бинарника.
Все в ваших руках
Вообще никакой проблемы не наблюдаю. Уязвимость нашли в нестабильном дистре. Ну так он и создан для греблеходцев.
Забавно было бы, если б они унифицированно поменяли запрос пароля и при создании и при запросе на подключение. Никто б и не заметил, что пароли перестали подходить. :)
> Вообще никакой проблемы не наблюдаю. Уязвимость нашли в нестабильном дистре. Ну так
> он и создан для греблеходцев.<sarcasm>Какую уязвимость? Наоборот, создал контейнер - фиг вскроешь потом.</sarcasm>
Я уже сто раз говорил, что в sid х..чат все, что ни попадя, не утруждаясь проверкой. Удивительно, что подобных факапов так мало, хотя скорее всего большинство просто не получает широкой огласки.
>Удивительно, что подобных факапов так мало, хотя
> скорее всего большинство просто не получает широкой огласки."Они" работают над этим. http://www.opennet.me/openforum/vsluhforumID3/110290.html#134 _ http://www.opennet.me/openforum/vsluhforumID3/105391.html#15 //именной сайт-то уже завезли?
> Я уже сто раз говорил, что в sid х..чат все, что ни попадя, не утруждаясь проверкой.Не совсем. Тащится только последний релиз, плюс мейнтейнер может утянуть какие-нибудь патчи из нерелизнутого апстрима.
В данном случае один из патчей, который мейнтейнер притащил в пакет encfs, содержал в себе регресс.
И для тестинга это, вообще говоря, нормально. Он для того и существует, чтобы такие косяки вылавливать.
> Удивительно, что подобных факапов так мало, хотя скорее всего большинство просто не получает широкой огласки.
Есть мнение, что такие утверждения надо доказывать. Поскольку Вы голословны, то сдаётся мне, что Вы либо дурень, либо занимаетесь наглым пиаром, как справедливо заметил Андрей в сообщении #28.
PS: Андрей, я немного додумал Вашу мысль, Вы не возражаете?
> мне, что Вы либо дурень, либо занимаетесь наглым пиаром, как справедливо
> заметил Андрей в сообщении #28.
> PS: Андрей, я немного додумал Вашу мысль, Вы не возражаете?Можно не спрашивать. http://www.opennet.me/openforum/vsluhforumID9/10142.html#14 ССылки, расшаркивания излишни -- [за новый бытъ] флудить, тролить и офто-печь надо... ближе к %) теме/цели.
p - password
В Дебаине вообще всё плохо с безопасностью, вспоминаем патченный SSL 8)
> В Дебаине вообще всё плохо с безопасностью, вспоминаем патченныйpid(1). //captain fix.
> 8)
Для тех, у кого пароль P, ничего не изменилось.
Блин, в EncFS ещё и пароль нечувствительный к регистру что-ли?
вначале напихают шелл-скриптов во все дыры, а потом удивляются, почему при первом же чихе всё разваливается
> вначале напихают шелл-скриптов во все дыры, а потом удивляются, почему при первом
> же чихе всё разваливаетсяБез скриптов https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=843160#95 -- тоже. Иииии??? Ваши выводы?---
С скриптами было б еще хуже!
Но sid же для того и существует чтоб пробовать всякие экспериментальные штуки.
Не было бы сида, вышла бы стабильная версия encfs с этим изменением интерфеса и связка с Cryptkeeper была бы сломана в релизных версиях.
А так все выяснилось на этапе разработки.Статья полезная.
Показывает что документацию нужно читать, а не вольно интерпретировать
Казалось бы, кто подумает пихать что-то кроме пароля в stdin после таких строк
-S, --stdinpass
Read password from standard input, without prompting.
...P.S. Ну и прокапитаню.
> Я уже сто раз говорил, что в sid х..чат все, что ни попадя, не утруждаясь проверкой.Sid это и есть провекра. Ваш КО.
Не вышла бы.
Ошибка исправлена и внесены изменения в репы именно в Testing и Unstable.
О чем вы?
Если бы небыло сида,
то могла бы выйти стабильная версия encfs, с этим изменением поведения при указании опции "-S",
и связка encfs с Cryptkeeper была бы сломана в релизных (стабильных) версиях encfs и Cryptkeeper.
Замечу что encfs и Cryptkeeper существуют не только в Debian.Так понятнее?
И, простите за любопытство, Вы омич?
"Если бы бабушка была дедушкой.." (с)
Не тупите и не хамите!
Встаньте перед зеркалом и объясняйте там что хотите.
Не надо тут очевидные вещи выдавать аз открытия.Суть одна - не попали и не попали бы.
> Если бы небыло сида, то могла бы выйти стабильная версия encfs, с
> этим изменением поведения при указании опции "-S", и связка encfs с
> Cryptkeeper была бы сломана в релизных (стабильных) версиях encfs и
> Cryptkeeper.Истина. В этим и есть разница между тестированием программы и тестированием программного комплекса. Сколько раз уже объяснял это здесь, но анонам всё как об стенку горох.
Полный p!
Зато корневой раздел не удаляет.
Это WIN!
А т.е. сделать нормальный CLI для encfs (чтобы передавать через stdin только пароль, а вот эти вот 'p' сделать в качестве ключа командной строки) --- задача невыполнимая?
> сделать нормальный CLI для encfs
> задача невыполнимая?ну сами ж видели - попытались сделать ключом командной строки - теперь у всех пароль 'p'. ;-)
Что более дурная идея - использовать из внешних программ вместо (отсутствующих) cli или спецбиблиотеки - программу с _консольным_ (а не CL) интерфейсом, каковой и является encfs или идея делать в подобных программах консольный интерфейс вместо cli (при том, что тупые юзеры, неспособные ни алиас создать, ни параметр набрать - все равно пользуются интуитивно приятной гуевой оболочкой), не знаю.И это лучшее, что у нас есть из доступного в линуксе, увы.