Working theory at the moment is that cyrus-sasl2 is using RC4 from OpenSSL, and OpenSSL3 deprecated it:
On Kinetic: $ openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) $ echo -ne test | openssl rc4 -k test *** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better. Error setting cipher RC4 4057FE8C0B7F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:../crypto/evp/evp_fetch.c:349:Global default library context, Algorithm (RC4 : 37), Properties () Salted__gG On Impish: $ openssl version OpenSSL 1.1.1l 24 Aug 2021 $ echo -ne test | openssl rc4 -k test *** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better. Salted__~T�|=�ʇ���� Jammy: $ openssl version OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022) $ echo -ne "test" | openssl rc4 -k test *** WARNING : deprecated key derivation used. Using -iter or -pbkdf2 would be better. Error setting cipher RC4 40078BF4127F0000:error:0308010C:digital envelope routines:inner_evp_generic_fetch:unsupported:../crypto/evp/evp_fetch.c:349:Global default library context, Algorithm (RC4 : 37), Properties () Salted__��N�x��� Both jammy and kinetic show "Error setting cipher RC4". Oh, and the stack trace confirming it's inside openssl: (gdb) bt #0 0x00007ffff74085cb in EVP_EncryptUpdate (ctx=0x0, out=out@entry=0x5555555c7cf4 "0\036\002\001\004w\031\200\027\061.3.6.1.4.1.4203.1.11.3ST-MD5 client step 3", outl=outl@entry=0x7fffffffdbc4, in=0x5555555c8d50 "0\036\002\001\004w\031\200\027\061.3.6.1.4.1.4203.1.11.311.311.3", inl=32) at ../crypto/evp/evp_enc.c:614 #1 0x00007ffff70a07a9 in enc_rc4 (text=0x555555585e00, input=<optimized out>, inputlen=<optimized out>, digest=0x7fffffffdc20 "^\316@+\322}\a\334\006T\005\353:H}\036\260l\\UUU", output=0x5555555c7cf4 "0\036\002\001\004w\031\200\027\061.3.6.1.4.1.4203.1.11.3ST-MD5 client step 3", outputlen=0x7fffffffdda4) at ../../plugins/digestmd5.c:1201 #2 0x00007ffff70a1ddb in digestmd5_encode (context=0x555555585e00, invec=<optimized out>, numiov=<optimized out>, output=0x55555559e708, outputlen=0x7fffffffdda4) at ../../plugins/digestmd5.c:1552 #3 0x00007ffff7f33c3e in _sasl_encodev (conn=conn@entry=0x555555586cf0, invec=invec@entry=0x7fffffffdd70, numiov=numiov@entry=1, p_num_packets=p_num_packets@entry=0x7fffffffdd0c, output=output@entry=0x55555559e708, outputlen=outputlen@entry=0x7fffffffdda4) at ../../lib/common.c:359 #4 0x00007ffff7f360a1 in sasl_encodev (conn=conn@entry=0x555555586cf0, invec=invec@entry=0x7fffffffdd70, numiov=numiov@entry=1, output=output@entry=0x55555559e708, outputlen=outputlen@entry=0x7fffffffdda4) at ../../lib/common.c:582 #5 0x00007ffff7f361d0 in sasl_encode (conn=0x555555586cf0, input=<optimized out>, inputlen=<optimized out>, output=output@entry=0x55555559e708, outputlen=outputlen@entry=0x7fffffffdda4) at ../../lib/common.c:304 #6 0x00007ffff7f665ba in sb_sasl_cyrus_encode (p=0x55555559e680, buf=<optimized out>, len=<optimized out>, dst=0x55555559e6f0) at ../../../../libraries/libldap/cyrus.c:134 #7 0x00007ffff7f66b90 in sb_sasl_generic_write (sbiod=0x555555585a30, buf=0x5555555c8d50, len=<optimized out>) at ../../../../libraries/libldap/sasl.c:783 #8 0x00007ffff7f4ad3c in sb_debug_write (sbiod=0x555555586aa0, buf=0x5555555c8d50, len=32) at ../../../../libraries/liblber/sockbuf.c:854 #9 0x00007ffff7f50105 in ber_int_sb_write (sb=sb@entry=0x555555585900, buf=0x5555555c8d50, len=len@entry=32) at ../../../../libraries/liblber/sockbuf.c:445 #10 0x00007ffff7f5027b in ber_flush2 (sb=0x555555585900, ber=0x5555555c7c90, freeit=freeit@entry=0) at ../../../../libraries/liblber/io.c:249 #11 0x00007ffff7f7e0a7 in ldap_int_flush_request (ld=ld@entry=0x5555555834e0, lr=lr@entry=0x5555555c6cb0) at ../../../../libraries/libldap/request.c:186 #12 0x00007ffff7f8001f in ldap_send_server_request (ld=ld@entry=0x5555555834e0, ber=ber@entry=0x5555555c7c90, msgid=msgid@entry=4, parentreq=parentreq@entry=0x0, srvlist=srvlist@entry=0x0, lc=<optimized out>, lc@entry=0x0, bind=0x0, m_noconn=0, m_res=0) at ../../../../libraries/libldap/request.c:412 #13 0x00007ffff7f80415 in ldap_send_initial_request (ld=0x5555555834e0, msgtype=<optimized out>, dn=<optimized out>, ber=0x5555555c7c90, msgid=4) at ../../../../libraries/libldap/request.c:169 #14 0x00007ffff7f6fa25 in ldap_extended_operation (ld=ld@entry=0x5555555834e0, reqoid=reqoid@entry=0x7ffff7f9f9f0 "1.3.6.1.4.1.4203.1.11.3", reqdata=reqdata@entry=0x0, sctrls=sctrls@entry=0x0, cctrls=cctrls@entry=0x0, msgidp=msgidp@entry=0x7fffffffe168) at ../../../../libraries/libldap/extended.c:127 #15 0x00007ffff7f70267 in ldap_whoami (ld=ld@entry=0x5555555834e0, sctrls=sctrls@entry=0x0, cctrls=cctrls@entry=0x0, msgidp=msgidp@entry=0x7fffffffe168) at ../../../../libraries/libldap/whoami.c:71 #16 0x0000555555558c6e in main (argc=<optimized out>, argv=<optimized out>) at ../../../../clients/tools/ldapwhoami.c:142 Still gathering more details. -- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to cyrus-sasl2 in Ubuntu. https://bugs.launchpad.net/bugs/1973760 Title: Crash when using DIGEST-MD5 with SSF>=128 Status in cyrus-sasl2 package in Ubuntu: In Progress Bug description: I'm still troubleshooting this, but at the moment apps negotiating a DIGEST-MD5 authentication and requesting some form of transport encryption (ssf != 0) are crashing. The only example I have so far is the openldap client tools (so just one app really). ssf=0 works: $ ldapwhoami -U ubuntu@lxd -w ubuntusecret -O maxssf=0 SASL/DIGEST-MD5 authentication started SASL username: ubuntu@lxd SASL SSF: 0 dn:uid=ubuntu@lxd,cn=vms,cn=digest-md5,cn=auth ssf=128 crashes: $ ldapwhoami -U ubuntu@lxd -w ubuntusecret -O maxssf=128 SASL/DIGEST-MD5 authentication started SASL username: ubuntu@lxd SASL SSF: 128 SASL data security layer installed. Segmentation fault (core dumped) The crash seems to be inside openssl. I'll get a proper stack trace. 2.1.27, also built with openssl3, does not crash. So far only 2.1.28 (in kinetic-proposed). To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cyrus-sasl2/+bug/1973760/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp