FICHE CVE

CVE-2026-64377

Publiée le 2026-07-25 · Dernière modification le 2026-10-21

🇫🇷 EN BREF

Le pilote de mise à l'échelle de la fréquence du processeur Qualcomm (`qcom-cpufreq-hw`) du noyau Linux contient une erreur de gestion de la mémoire. Le pilote utilise un système d'allocation gérée qui libère automatiquement la mémoire, mais le code tente également de libérer manuellement cette même mémoire lors du processus de sortie du processeur. Cela entraîne une faille de type « double free », où le système tente de libérer le même bloc de mémoire à deux reprises.

Un attaquant disposant d'un accès local avec des privilèges restreints sur le système peut exploiter cette faille pour potentiellement faire planter le serveur ou exécuter du code arbitraire avec les privilèges du noyau. Comme l'exploitation se produit au sein du noyau, une attaque réussie pourrait compromettre totalement la confidentialité, l'intégrité et la disponibilité du système. Cela ne nécessite aucune interaction de la part de l'utilisateur, mais exige que l'attaquant possède déjà un compte de connexion ou un moyen d'exécuter du code sur la machine.

CVSS 3.17.8 ÉLEVÉE
Publiée2026-07-25
Dernière modification2026-10-21

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: cpufreq: qcom-cpufreq-hw: Fix possible double free qcom_cpufreq.data is allocated with devm_kzalloc() in probe() as an array of per-domain data. qcom_cpufreq_hw_cpu_init() stores a pointer to one element of this array in policy->driver_data. qcom_cpufreq_hw_cpu_exit() currently calls kfree() on policy->driver_data. This is not valid because the memory is devm-managed. For the first domain, this can free the devm-managed allocation while the devres entry is still active, leading to a possible double free when the platform device is later detached. For other domains, the pointer may refer to an element inside the array rather than the allocation base. Remove the kfree(data) call and let devres release qcom_cpufreq.data. This issue was found by a static analysis tool I am developing.