CVE-2026-72183 in Linuxinformation

Résumé

par VulDB • 17/08/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

landlock : Correction de la contournement de LANDLOCK_SCOPE_SIGNAL sur le chemin SIGIO

LANDLOCK_SCOPE_SIGNAL doit empêcher un processus en bac à sable (sandboxed) d'envoyer des signaux aux processus situés hors de son domaine Landlock. Il peut être contourné via le chemin d'acheminement asynchrone du signal SIGIO.

Un processus en bac à sable qui possède n'importe quel fichier ou socket peut l'armer avec `fcntl(fd, F_SETOWN, -pgid)`, `fcntl(fd, F_SETSIG, SIGKILL)` et `O_ASYNC`, de sorte qu'un événement d'E/S amène le noyau à acheminer le signal choisi vers tout le groupe de processus. En tant que tête de la liste des tâches de son groupe de processus (la position par défaut juste après un fork()), ce groupe peut également contenir le processus non en bac à sable qui l'a lancé, par exemple un superviseur ou un moniteur de sécurité. Le bac à sable peut ainsi tuer ou envoyer des signaux aux processus que LANDLOCK_SCOPE_SIGNAL est censé protéger contre lui.

La portée (scope) est appliquée dans `hook_file_send_sigiotask()` en fonction du domaine Landlock enregistré au moment de l'appel F_SETOWN, et non le domaine actuel de l'expéditeur. `control_current_fowner()` décide s'il faut enregistrer ce domaine et saute cet enregistrement lorsque la cible propriétaire (fowner) se trouve dans le groupe de threads de l'appelant, ce qui n'est sûr que pour une cible à tâche unique (PIDTYPE_PID, PIDTYPE_TGID). Pour un groupe de processus (PIDTYPE_PGID), `pid_task()` ne renvoie qu'un seul membre ; l'enregistrement est ignoré chaque fois que ce membre partage le même groupe de threads que l'appelant, et `hook_file_send_sigiotask()` laisse alors le signal se propager à tout le groupe sans contrôle.

Enregistrer le domaine pour toute cible autre qu'une tâche unique afin que la portée soit appliquée contre chaque membre du groupe au moment de l'acheminement (delivery).

Cet enregistrement est nécessaire mais non suffisant en soi : le noyau envoie des signaux à un groupe de processus par l'intermédiaire des chefs de groupe de threads de ses membres, et le chef du propre processus de l'enregistreur peut porter un domaine Landlock différent de celui du thread frère qui a armé le propriétaire. `domain_is_scoped()` refuserait alors ce chef, bien que la validation 18eb75f3af40 ("landlock : Autoriser toujours les signaux entre les threads d'un même processus") exige que l'acheminement au sein du même processus soit autorisé. `hook_task_kill()` évite cela en évaluant `same_thread_group()` de manière dynamique (live), par destinataire ; le chemin SIGIO délègue quant à lui toute la décision à une seule vérification lors de l'enregistrement, ce qu'une propagation vers un groupe de processus ne peut pas respecter.

Enregistrer donc également le groupe de threads de l'enregistreur à côté de son domaine et en exempter au moment de l'acheminement : `hook_file_send_sigiotask()` autorise le signal chaque fois que le destinataire appartient au propre processus de l'enregistreur, rétablissant la garantie du même processus tout en bloquant les membres hors du groupe. Le chemin direct kill() (hook_task_kill) évalue déjà le domaine dynamique et n'est pas affecté.

[mic : Vérifier pid_type plus tôt et améliorer le commentaire, corriger le message de validation, corriger le formatage des commentaires]

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Réserver

09/08/2026

Divulgation

15/08/2026

Modérer

accepté

Entrée

VDB-390535

CPE

prêt

EPSS

0.00210

KEV

non

Activités

très faible

Sources

Might our Artificial Intelligence support you?

Check our Alexa App!