Vigil@nce: Debian, denial of service of openssh
September 2008 by Vigil@nce
SYNTHESIS
A local attacker can send signals to the openssh Debian version in
order to create a denial of service.
Gravity: 1/4
Consequences: denial of service of service
Provenance: user shell
Means of attack: 1 attack
Ability of attacker: technician (2/4)
Confidence: confirmed by the editor (5/5)
Diffusion of the vulnerable configuration: high (3/3)
Creation date: 17/09/2008
Identifier: VIGILANCE-VUL-8114
IMPACTED PRODUCTS
– Debian Linux [confidential versions]
DESCRIPTION
The grace_alarm_handler() signal handler of OpenSSH is called when
the user connected to the daemon, but did not entered his login
before the expiration of a timeout. This function calls sigdie()
of log.c containing:
#ifdef DO_LOG_SAFE_IN_SIGHAND
[...]
do_log(SYSLOG_LEVEL_FATAL, fmt, args);
[...]
#endif
The DO_LOG_SAFE_IN_SIGHAND define is only defined on OpenBSD,
which provides a async-signal-safe version of syslog() (which
means that syslog() can be called form a signal handler).
The Debian openssh package contains the same code, but without the
define. As on Debian Linux, the syslog() function is not
async-signal-safe, receiving a signal can block the process.
A local attacker can therefore send several signals to the openssh
daemon in order to lock its processes, to progressively create a
denial of service.
CHARACTERISTICS
Identifiers: 498678, CVE-2008-4109, DSA-1638-1, VIGILANCE-VUL-8114