FICHE CVE

CVE-2026-99236

Publiée le 2026-11-02 · Dernière modification le 2026-11-02

🇫🇷 EN BREF

Le sous-système de traçage du noyau Linux est affecté par une faille dans la manière dont il analyse les expressions de filtrage d'événements. Ce système est utilisé par les développeurs et les administrateurs pour surveiller les événements et les performances du noyau via des outils tels que perf. Le bug survient lorsqu'un utilisateur fournit une expression de filtrage qui se termine prématurément par un opérateur logique, amenant le noyau à lire la mémoire en dehors du tampon prévu.

Un attaquant disposant d'un accès local avec des privilèges restreints sur le système peut exploiter cette faille pour lire ou écrire dans la mémoire sensible du noyau. Étant donné que cela peut entraîner un plantage complet du système ou une élévation de privilèges, cela impacte la confidentialité, l'intégrité et la disponibilité. L'attaque est relativement facile à exécuter et ne nécessite aucune interaction de l'utilisateur, mais elle doit être lancée depuis un compte local.

CVSS 3.17.8 ÉLEVÉE
Publiée2026-11-02
Dernière modification2026-11-02

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueLocal
Complexité d'attaqueFaible
Privilèges requisFaibles
Interaction utilisateurAucune
PortéeInchangée
Impact sur la confidentialitéÉlevé
Impact sur l'intégritéÉlevé
Impact sur la disponibilitéÉlevé

RÉFÉRENCES

Description officielle du NVD (en anglais)

In the Linux kernel, the following vulnerability has been resolved: tracing: Reject incomplete event filter expressions A non-empty expression normally finishes in predicate_parse()'s inner loop, which resolves the pending logical operators before jumping to finalization. If the input ends after an operator, possibly followed by unary '!' tokens, the outer loop instead falls through with unresolved operator state. For example, "common_pid == 1 || common_pid == 2 &&" leaves prog[0].target equal to -1. The second pass then reads prog[-1] before the forward-jump check can reject it. Depending on adjacent slab contents, it can also copy an out-of-bounds word into a branch target that passes the forward-only check. A self-targeted perf tracepoint counting event can reach this path through PERF_EVENT_IOC_SET_FILTER. Reject the outer-loop fallthrough when a predicate has already been parsed. This ensures that non-empty expressions only reach finalization after the inner loop has resolved their operators. Keep the existing no-filter error for input that has no predicates. Add a regression test for trailing logical operators and unary negations.