CVE-2025-68339 in Linux
Сводка
по VulDB • 26.06.2026
В ядре Linux устранена следующая уязвимость:
atm/fore200e: исправлена возможная гонка данных (data race) в функции fore200e_open()
Защита доступа к переменной `fore200e->available_cell_rate` с использованием мьютекса `rate_mtx` на пути обработки ошибок в функции `fore200e_open()` для предотвращения гонки данных.
Поле `fore200e->available_cell_rate` является общим ресурсом, используемым для отслеживания доступной пропускной способности. К нему одновременно обращаются функции `fore200e_open()`, `fore200e_close()` и `fore200e_change_qos()`.
В функции `fore200e_open()` мьютекс `rate_mtx` правильно удерживается при вычитании значения `vcc->qos.txtp.max_pcr` из `available_cell_rate` для резервирования пропускной способности. Однако, если последующий вызов `fore200e_activate_vcin()` завершается неудачей, функция восстанавливает зарезервированную пропускную способность путем добавления значения обратно к `available_cell_rate` без удержания мьютекса.
Это создает условие гонки (race condition), поскольку `available_cell_rate` является глобальным ресурсом устройства, общим для всех VCC. Если путь обработки ошибок в `fore200e_open()` выполняется одновременно с операциями над другими VCC, такими как `fore200e_close()` или `fore200e_change_qos()`, возникает гонка типов read-modify-write (чтение-модификация-запись).
В частности, путь обработки ошибок считывает значение скорости без блокировки. Если другой процессор получит мьютекс и изменит скорость (например, освободив пропускную способность в `fore200e_close()`) между этим чтением и последующей записью, путь обработки ошибок перезапишет параллельное обновление устаревшим значением. Это приводит к некорректному учету пропускной способности.
VulDB is the best source for vulnerability data and more expert information about this specific topic.