CVE-2025-38069
Publiée le 2025-06-18 · Dernière modification le 2026-10-30
Ce problème affecte le pilote de test du point de terminaison PCI du noyau Linux, plus précisément lors de la gestion de certains échecs d'initialisation du matériel. Un utilisateur local disposant de privilèges restreints peut provoquer un plantage du noyau ou potentiellement exécuter du code arbitraire en forçant une erreur de « double libération » (double free) de la mémoire. Comme cela nécessite un accès local au système et des configurations de pilote spécifiques, cette vulnérabilité ne peut pas être exploitée à distance via un réseau.
DÉTAIL DU VECTEUR CVSS
RÉFÉRENCES
Description officielle du NVD (en anglais)
In the Linux kernel, the following vulnerability has been resolved: PCI: endpoint: pci-epf-test: Fix double free that causes kernel to oops Fix a kernel oops found while testing the stm32_pcie Endpoint driver with handling of PERST# deassertion: During EP initialization, pci_epf_test_alloc_space() allocates all BARs, which are further freed if epc_set_bar() fails (for instance, due to no free inbound window). However, when pci_epc_set_bar() fails, the error path: pci_epc_set_bar() -> pci_epf_free_space() does not clear the previous assignment to epf_test->reg[bar]. Then, if the host reboots, the PERST# deassertion restarts the BAR allocation sequence with the same allocation failure (no free inbound window), creating a double free situation since epf_test->reg[bar] was deallocated and is still non-NULL. Thus, make sure that pci_epf_alloc_space() and pci_epf_free_space() invocations are symmetric, and as such, set epf_test->reg[bar] to NULL when memory is freed. [kwilczynski: commit log]