Linux 暗号化アプリ Cryptkeeper には、1 文字の汎用復号化パスワード「p」が使用されるバグがあります。
欠陥のあるバージョンは、現在テスト中のDebian 9 (Stretch) に存在していますが、Debian 8 (Jessie) には存在しません。このバグは、encfs暗号化ファイルシステムのコマンドラインインターフェースとの不適切な相互作用が原因であるようです。Cryptkeeperはencfsを起動し、擬似的に「p」キーの押下によってパラノイアモードに入ろうとしますが、実際にはフォルダのパスワードをその文字のみに設定します。
Cryptkeeperの開発者はプロジェクトを放棄したようです。幸いなことに、それほど多くの人が使用していませんが、それでもこのバグは悲劇的で滑稽です。基本的に、このコードはencfsにパラメータを渡します。
書き込み(fd[1], "p\n", 2); 書き込み(fd[1], パスワード, strlen(パスワード)); 書き込み(fd[1], "\n", 1);
しかし、encfs は -S スイッチ付きで実行されるため、プロンプトなしで標準入力からパスワードを読み込むことになります。以前の encfs にはバグがあり、この動作が正確に実行されませんでした。バグ修正により、ドキュメントに一致するように動作が修正されましたが、これにより Cryptkeeper の想定と互換性がなくなりました。
そのため、Cryptkeeper はすべてのディレクトリ パスワードを "p" に設定します。encfs が更新され、Cryptkeeper のインターフェイスが壊れました。
Debian 開発者の Simon McVittie 氏は、このアプリを Linux ディストリビューションから完全に排除することを推奨しています。
「cryptkeeper は encfs のコマンドラインインターフェースに関して、もはや有効ではない仮定を行っているようです」と McVittie 氏はバグ報告スレッドで述べています。
Cryptkeeper ... pwned の場合は「p」と入力します。
「また、cryptkeeper は encfs とのやり取り中に write() と close() が返す内容をチェックしないことに気づきました。これは望ましくない結果につながる可能性が非常に高いようです。
「リリースチームにこのパッケージをStretchから削除するよう推奨しました。現時点では、このパッケージは、まったく暗号化しないよりも悪い誤ったセキュリティ感覚を与えています。」®