CVE-2026-23441

NONE EPSS 0.01%
Обновлено 7 апреля 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: net/mlx5e: запретить одновременный доступ к контексту IPSec ASO. Запрос или обновление объекта разгрузки IPSec осуществляется через Access ASO WQE. Драйвер использует одну структуру mlx5e_ipsec_aso для каждого PF, которая содержит общий контекст, отображаемый через DMA, для всех операций ASO.

Существует состояние гонки, поскольку спин-блокировка ASO сбрасывается раньше. оборудование завершило обработку WQE. Если вторая операция инициированный сразу после этого, он перезаписывает общий контекст в Район ДМА. Когда завершение первой операции обрабатывается позже, оно читается этот испорченный контекст, приводящий к неожиданному поведению и неправильным результаты.

Этот коммит исправляет гонку, вводя частный контекст внутри каждый объект разгрузки IPSec. Общий контекст ASO теперь копируется в этот частный контекст, пока удерживается спин-блокировка ASO. Последующие обработка использует этот сохраненный контекст для каждого объекта, обеспечивая его целостность. сохраняется.

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: net/mlx5e: Prevent concurrent access to IPSec ASO context The query or updating IPSec offload object is through Access ASO WQE. The driver uses a single mlx5e_ipsec_aso struct for each PF, which contains a shared DMA-mapped context for all ASO operations. A race condition exists because the ASO spinlock is released before the hardware has finished processing WQE. If a second operation is initiated immediately after, it overwrites the shared context in the DMA area. When the first operation's completion is processed later, it reads this corrupted context, leading to unexpected behavior and incorrect results. This commit fixes the race by introducing a private context within each IPSec offload object. The shared ASO context is now copied to this private context while the ASO spinlock is held. Subsequent processing uses this saved, per-object context, ensuring its integrity is maintained.