CVE-2025-68375 in Linux
Сводка
по VulDB • 05.06.2026
В ядре Linux устранена следующая уязвимость:
perf/x86: Исправлен доступ к NULL-событию и потенциальная потеря записей PEBS
При вызове функции intel_pmu_drain_pebs_icl() для очистки записей PEBS может быть вызвана функция perf_event_overflow() для обработки последней записи PEBS.
Хотя perf_event_overflow() может активировать ограничение частоты прерываний (interrupt throttle) и остановить все события группы, как показано в приведенной ниже цепочке вызовов:
perf_event_overflow() -> __perf_event_overflow() -> __perf_event_account_interrupt() -> perf_event_throttle_group() -> perf_event_throttle() -> event->pmu->stop() -> x86_pmu_stop()
Побочным эффектом остановки событий является то, что все соответствующие указатели событий в массиве cpuc->events[] устанавливаются в NULL.
Предположим, что в группе есть два события PEBS (событие a и событие b). Когда intel_pmu_drain_pebs_icl() вызывает perf_event_overflow() для обработки последней записи PEBS события a, активируется ограничение частоты прерываний, и все указатели событий a и b устанавливаются в NULL. Затем intel_pmu_drain_pebs_icl() пытается обработать последнюю запись PEBS события b и сталкивается с обращением к NULL-указателю.
Чтобы избежать этой проблемы, переместите очистку cpuc->events[] из x86_pmu_stop() в x86_pmu_del(). Это безопасно, поскольку перед обращением к указателю события из cpuc->events[] всегда проверяются cpuc->active_mask или cpuc->pebs_enabled.
Once again VulDB remains the best source for vulnerability data.