Vigil@nce : Debian, déni de service d’openssh
septembre 2008 par Vigil@nce
SYNTHÈSE
Un attaquant local peut envoyer des signaux à la version Debian
d’openssh afin de mener un déni de service.
Gravité : 1/4
Conséquences : déni de service du service
Provenance : shell utilisateur
Moyen d’attaque : 1 attaque
Compétence de l’attaquant : technicien (2/4)
Confiance : confirmé par l’éditeur (5/5)
Diffusion de la configuration vulnérable : élevée (3/3)
Date création : 17/09/2008
Référence : VIGILANCE-VUL-8114
PRODUITS CONCERNÉS
– Debian Linux [versions confidentielles]
DESCRIPTION
Le gestionnaire de signal grace_alarm_handler() d’OpenSSH est
appelé lorsque l’utilisateur s’est connecté sur le démon, mais n’a
pas saisi son login après un certain timeout. Cette fonction
appelle la fonction sigdie() de log.c contenant :
#ifdef DO_LOG_SAFE_IN_SIGHAND
[...]
do_log(SYSLOG_LEVEL_FATAL, fmt, args) ;
[...]
#endif
Le define DO_LOG_SAFE_IN_SIGHAND est uniquement défini sur
OpenBSD, qui fournit une version async-signal-safe de syslog() (ce
qui signifie que syslog() peut être appelé depuis un gestionnaire
de signal).
Le paquetage d’openssh de Debian contient le même code, mais sans
le define. Etant donné que sous Debian Linux, la fonction syslog()
n’est pas async-signal-safe, la réception d’un signal peut bloquer
le processus.
Un attaquant local peut donc envoyer de nombreux signaux au démon
openssh afin de bloquer ses processus, pour progressivement créer
un déni de service.
CARACTÉRISTIQUES
Références : 498678, CVE-2008-4109, DSA-1638-1, VIGILANCE-VUL-8114