[Bug 3286] sshd dumps core after authentication timeout

bugzilla-daemon at mindrot.org
Tue, 23 Mar 2021 03:39:12 -0000

Damien Miller <djm at mindrot.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |djm at mindrot.org

--- Comment #7 from Damien Miller <djm at mindrot.org> ---
It looks like we don't reset the LoginGraceTime SIGALRM handler in the
privsep child. Perhaps this handler is racing the monitor process to
terminate the session on timer expiry, but running afoul of the
seccomp-bpf sandbox when it tries to create a socket to talk to
syslogd.

That doesn't explain why the logging isn't going via the monitor as it
should be. A possibility here is the recursion protection in
log.c:do_log() - if the signal arrived while a logging call was active,
then the logging code falls back to attempting to syslog the message
directly. AFAIK this hasn't changed recently though.

In any case, we should skip the sigdie() in the privsep child, but I'd
still like to figure out why this is triggering when it wasn't before.