В Cryptkeeper всплыла проблема, приводящая к заданию фиксированного пароля "p"

Пользователи экспериментальных репозиториев Debian Testing и Unstable столкнулись с заслуживающей внимания проблемой: Cryptkeeper, GNOME-апплет для организации работы с шифрованными каталогами, перестал обрабатывать задаваемые пользователем пароли. После создания шифрованного каталога, указанный пароль не подходил для последующего доступа к нему, так как для создаваемых в Cryptkeeper шифрованных каталогов всегда стал устанавливаться пароль «p».

Проблема оказалась связана с переносом в debian-пакет EncFS (Cryptkeeper является надстройкой над EncFS)
исправления, устраняющего крах при передаче пустого пароля. Попутно в исправлении была изменена логика передачи пароля в командной строке. Исправление пока не вошло в состав релиза EncFS, поэтому осталось незамеченным в дистрибутивах Linux, кроме нестабильных репозиториев Debian.

При создании шифрованного каталога Cryptkeeper вызывал команду encfs при помощи следующей конструкции:

   execlp ("encfs", "encfs", "-S", crypt_dir, mount_dir, NULL);
   ...
   write (fd[1], "pn", 2);
   write (fd[1], password, strlen (password));
   write (fd[1], "n", 1);

Опция «-S» определяла режим передачи пароля через стандартный ввод, а первая строка «pn» указывала на активацию параноидального режима:

   $ 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», которая также приводится в некоторых примерах. Кроме того, в документации опция «-S» определена только для монтирования директорий, но не для их создания. По сути Cryptkeeper использовал недокументированную возможность.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.