CVE-2026-23440: net/mlx5e: Fix race condition during IPSec ESN update
In the Linux kernel, the following vulnerability has been resolved:
net/mlx5e: Fix race condition during IPSec ESN update
In IPSec full offload mode, the device reports an ESN (Extended Sequence Number) wrap event to the driver. The driver validates this event by querying the IPSec ASO and checking that the esneventarm field is 0x0, which indicates an event has occurred. After handling the event, the driver must re-arm the context by setting esneventarm back to 0x1.
A race condition exists in this handling path. After validating the event, the driver calls mlx5accelespmodifyxfrm() to update the kernel's xfrm state. This function temporarily releases and re-acquires the xfrm state lock.
So, need to acknowledge the event first by setting esneventarm to 0x1. This prevents the driver from reprocessing the same ESN update if the hardware sends events for other reason. Since the next ESN update only occurs after nearly 2^31 packets are received, there's no risk of missing an update, as it will happen long after this handling has finished.
Processing the event twice causes the ESN high-order bits (esnmsb) to be incremented incorrectly. The driver then programs the hardware with this invalid ESN state, which leads to anti-replay failures and a complete halt of IPSec traffic.
Fix this by re-arming the ESN event immediately after it is validated, before calling mlx5accelespmodifyxfrm(). This ensures that any spurious, duplicate events are correctly ignored, closing the race window.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Acknowledge the ESN wrap event by querying the IPSec ASO and checking that esn_event_arm is 0x0 (event occurred). After validating the event, re-arm the ESN event immediately by re-setting esn_event_arm so the driver does not reprocess the same ESN update and so ESN MSB (esn_msb) does not wrap incorrectly.
Linux kernel mlx5e IPSec ESN update path esn_event_arm = 0x0 / re-arm after validation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-23440?
The severity of CVE-2026-23440 is currently classified as moderate due to the potential for a race condition during IPSec ESN updates.
How do I fix CVE-2026-23440?
To fix CVE-2026-23440, you should upgrade to the latest version of the Linux kernel that includes the patch for this vulnerability.
Which versions of the Linux kernel are affected by CVE-2026-23440?
CVE-2026-23440 affects multiple versions of the Linux kernel, primarily those between 6.4.1 and 6.19.10, as well as 7.0 release candidates.
What is the impact of CVE-2026-23440?
The impact of CVE-2026-23440 may allow a local attacker to exploit a race condition that could disrupt IPSec operations.
Is there a workaround for CVE-2026-23440?
There are no documented workarounds for CVE-2026-23440, so the recommended action is to apply the kernel updates as soon as possible.