CVE-2026-23440CWE-362

CVE-2026-23440

High · published April 3, 2026

CVSS v3.1
7.5
EPSS
0%
Percentile
10.1
In the wild
Unconfirmed
What it is

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 esn_event_arm

field is 0x0, which indicates an event has occurred. After handling

the event, the driver must re-arm the context by setting esn_event_arm

back to 0x1.

A race condition exists in this handling path. After validating the

event, the driver calls mlx5_accel_esp_modify_xfrm() 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 esn_event_arm 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 (esn_msb) 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 mlx5_accel_esp_modify_xfrm(). This ensures that any

spurious, duplicate events are correctly ignored, closing the race

window.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00206 · 10.1th percentile
Weakness
CWE-362 · Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
Published
2026-04-03T20:16Z
Affected products (12)
ProductVersionsFixed in
linux/linux_kernel≥ 6.4.1, < 6.6.1306.6.130
linux/linux_kernel≥ 6.7, < 6.12.786.12.78
linux/linux_kernel≥ 6.13, < 6.18.206.18.20
linux/linux_kernel≥ 6.19, < 6.19.106.19.10
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (5)
EPSS history
Timeline
  • 03 APR 15:15Z
    net/mlx5e: Fix race condition during IPSec ESN update
    cvelistv5