You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.
I am trying to backport Charybdis 3.5.2p1 to Debian jessie 8.5. after a while, the SSLd process crashes with SIGABRT:
Program received signal SIGABRT, Aborted.
0x00007fc837c1a067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type.
(gdb) bt
#0 0x00007fc837c1a067 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007fc837c1b448 in __GI_abort () at abort.c:89
#2 0x00007fc8385fa1e1 in rb_vsnprintf (buf=0x1fbc <error: Cannot access memory at address 0x1fbc>, size=8124, fmt=0x7fc8385ffb89 "s-%s-%s", args=0xffffffffffffffff,
args@entry=0x7ffca78c5c08) at snprintf.c:452
#3 0x00007fc8385fa272 in rb_snprintf (buf=buf@entry=0x7fc838817b40 <buf> "TLS1.2-ECDHE-RSA-AES-256-GCM-AEAD", size=size@entry=1024,
fmt=fmt@entry=0x7fc8385ffb85 "%s-%s-%s-%s") at snprintf.c:611
#4 0x00007fc8385f722b in rb_ssl_get_cipher (F=0x7fc838a36810) at gnutls.c:676
#5 0x00000000004022d5 in ssl_send_cipher (conn=conn@entry=0x7502c0) at ssld.c:674
#6 0x0000000000402f94 in ssl_process_accept_cb (F=<optimized out>, status=<optimized out>, addr=<optimized out>, len=<optimized out>, data=0x7502c0) at ssld.c:711
#7 0x00007fc8385f6857 in rb_ssl_start_accepted (new_F=0x7fc838a36810, cb=cb@entry=0x402f70 <ssl_process_accept_cb>, data=data@entry=0x7502c0,
timeout=timeout@entry=10) at gnutls.c:172
#8 0x0000000000403746 in ssl_process_accept (ctlb=0x754630, ctl=0x71a130) at ssld.c:771
#9 mod_process_cmd_recv (ctl=0x71a130) at ssld.c:1017
#10 mod_read_ctl (F=<optimized out>, data=0x71a130) at ssld.c:1137
#11 0x00007fc8385fb8ba in rb_select_epoll (delay=<optimized out>) at epoll.c:199
#12 0x00007fc8385f538c in rb_select (timeout=timeout@entry=18446744073709551615) at commio.c:2105
#13 0x00007fc8385f7f5c in rb_lib_loop (delay=delay@entry=0) at ratbox_lib.c:229
#14 0x0000000000401cef in main (argc=<optimized out>, argv=<optimized out>) at ssld.c:1258
more precisely, I have been able to infer that the gnutls_kx_get_name function returns null:
(gdb) p gnutls_protocol_get_version(*((gnutls_session_t *)F->ssl))
$26 = 4
(gdb) p gnutls_cipher_get(*((gnutls_session_t *)F->ssl))
$27 = 1
(gdb) p gnutls_mac_get(*((gnutls_session_t *)F->ssl))
$28 = 1
(gdb) p gnutls_kx_get_name(gnutls_kx_get(*((gnutls_session_t *)F->ssl)))
$29 = 0
it is unclear what triggers the crash. when the server starts, i can connect to it with a TLS client, and it can link with other servers running charybdis 3.4 + gnutls without problems. /whois works as well, but after a few minutes, the ssld daemon crashes.
note that jessie has gnutls 3.3, and not 3.4, so this could be why this worked when it was implemented?
mbedtls is not backported to jessie yet, so switching to that library is problematic. using openssl has licensing issues (not mentionning security issues as well).
I am trying to backport Charybdis 3.5.2p1 to Debian jessie 8.5. after a while, the SSLd process crashes with SIGABRT:
it looks like some null pointer is passed to the
rb_snprintffunction, here: https://github.com/charybdis-ircd/charybdis/blob/release/3.5/libratbox/src/gnutls.c#L671-L683more precisely, I have been able to infer that the
gnutls_kx_get_namefunction returns null:it is unclear what triggers the crash. when the server starts, i can connect to it with a TLS client, and it can link with other servers running charybdis 3.4 + gnutls without problems.
/whoisworks as well, but after a few minutes, the ssld daemon crashes.note that jessie has gnutls 3.3, and not 3.4, so this could be why this worked when it was implemented?
mbedtls is not backported to jessie yet, so switching to that library is problematic. using openssl has licensing issues (not mentionning security issues as well).
i'm currently testing this pretty naive patch:
here is the full stack trace:
The text was updated successfully, but these errors were encountered: