Bug ID | 1207909 |
---|---|
Summary | encfs segmentation accessing existing encrypted folder |
Classification | openSUSE |
Product | openSUSE Tumbleweed |
Version | Current |
Hardware | x86-64 |
OS | openSUSE Tumbleweed |
Status | NEW |
Severity | Normal |
Priority | P5 - None |
Component | Other |
Assignee | screening-team-bugs@suse.de |
Reporter | michael@actrix.gen.nz |
QA Contact | qa-bugs@suse.de |
Found By | --- |
Blocker | --- |
On TW 20230202, on trying to mount an encfs filesystem I got a segmentation fault. This does not occur on Tumbleweed 20221020 (I had an old TW sitting around). Here is the error I got on TW 20230202: encfs -v /home/michael/.encfsvault-old /home/michael/tmp2 VERBOSE Root directory: /home/michael/.encfsvault-old/ [main.cpp:686] VERBOSE Fuse arguments: (daemon) (threaded) (keyCheck) encfs /home/michael/tmp2/ -o use_ino -o default_permissions [main.cpp:687] VERBOSE checking if ssl/aes(3:0:2) implements ssl/blowfish(2:1) [Interface.cpp:103] VERBOSE checking if ssl/blowfish(3:0:2) implements ssl/blowfish(2:1) [Interface.cpp:103] VERBOSE allocated cipher ssl/blowfish, keySize 20, ivlength 8 [SSL_Cipher.cpp:395] VERBOSE useStdin: 0 [FileUtils.cpp:1660] EncFS Password: VERBOSE checking if ssl/aes(3:0:2) implements ssl/blowfish(2:1) [Interface.cpp:103] VERBOSE checking if ssl/blowfish(3:0:2) implements ssl/blowfish(2:1) [Interface.cpp:103] VERBOSE allocated cipher ssl/blowfish, keySize 20, ivlength 8 [SSL_Cipher.cpp:395] [1] 12969 segmentation fault (core dumped) encfs -v /home/michael/.encfsvault-old /home/michael/tmp2 I suspected it was because the folder was created at least a decade or more in the past, and some backward compatibility issue had surfaced. So I created a new encfs folder on TW 20230202, it can be mounted just fine. Here are the messages I get on TW 20230202 when mounting the newly created folder: VERBOSE Root directory: /home/michael/.encfsvault/ [main.cpp:686] VERBOSE Fuse arguments: (daemon) (threaded) (keyCheck) encfs /home/michael/Vault/ -o allow_other -o use_ino -o default_permissions [main.cpp:687] VERBOSE found new serialization format [FileUtils.cpp:299] VERBOSE subVersion = 20100713 [FileUtils.cpp:313] VERBOSE checking if ssl/aes(3:0:2) implements ssl/aes(3:0) [Interface.cpp:103] VERBOSE allocated cipher ssl/aes, keySize 24, ivlength 16 [SSL_Cipher.cpp:395] VERBOSE useStdin: 0 [FileUtils.cpp:1660] EncFS Password: VERBOSE checking if ssl/aes(3:0:2) implements ssl/aes(3:0) [Interface.cpp:103] VERBOSE allocated cipher ssl/aes, keySize 24, ivlength 16 [SSL_Cipher.cpp:395] VERBOSE cipher key size = 44 [FileUtils.cpp:1673] VERBOSE checking if nameio/block(4:0:2) implements nameio/block(4:0) [Interface.cpp:103] So it looks like it could have something to do with the old ssl/blowfish, keySize 20, ivlength 8 parameters (or some other old setting). Google turned up this reference that might be relevant: https://askubuntu.com/questions/1405656/encfs-segfault-in-version-22-04 The actual stack trace is: Process 12969 (encfs) of user 500 dumped core. Stack trace of thread 12969: #0 0x00007f859fd91812 EVP_CIPHER_CTX_set_key_length (libcrypto.so.3 + 0x191812) #1 0x00007f85a07e70e8 _ZN5encfs7initKeyERKSt10shared_ptrINS_6SSLKeyEEPK13evp_cipher_stS7_i (libencfs.so.1.9 + 0x570e8) #2 0x00007f85a07ead05 _ZN5encfs10SSL_Cipher6newKeyEPKci (libencfs.so.1.9 + 0x5ad05) #3 0x00007f85a07e7415 _ZN5encfs11EncFSConfig7makeKeyEPKci (libencfs.so.1.9 + 0x57415) #4 0x00007f85a07e7618 _ZN5encfs11EncFSConfig10getUserKeyEb (libencfs.so.1.9 + 0x57618) #5 0x00007f85a07ebf72 _ZN5encfs6initFSEPNS_13EncFS_ContextERKSt10shared_ptrINS_10EncFS_OptsEE (libencfs.so.1.9 + 0x5bf> #6 0x000056247ed50ace main (encfs + 0x5ace) #7 0x00007f85a022c5b0 __libc_start_call_main (libc.so.6 + 0x275b0) #8 0x00007f85a022c679 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x27679) #9 0x000056247ed52c05 _start (encfs + 0x7c05) ELF object binary architecture: AMD x86-64 In the meantime, my workaround is to use TW 20221020 to extract the data from the old folder and then import that into a newly created encfs folder.