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.


You are receiving this mail because: