CVE-2026-45891

net: hns3: fix double free issue for tx spare buffer

published May 27, 2026

CVSS
—
EPSS
0%
Percentile
6.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

net: hns3: fix double free issue for tx spare buffer

In hns3_set_ringparam(), a temporary copy (tmp_rings) of the ring structure

is created for rollback. However, the tx_spare pointer in the original

ring handle is incorrectly left pointing to the old backup memory.

Later, if memory allocation fails in hns3_init_all_ring() during the setup,

the error path attempts to free all newly allocated rings. Since tx_spare

contains a stale (non-NULL) pointer from the backup, it is mistaken for

a newly allocated buffer and is erroneously freed, leading to a double-free

of the backup memory.

The root cause is that the tx_spare field was not cleared after its value

was saved in tmp_rings, leaving a dangling pointer.

Fix this by setting tx_spare to NULL in the original ring structure

when the creation of the new `tx_spare` fails. This ensures the

error cleanup path only frees genuinely newly allocated buffers.

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00176 · 6.7th percentile
Published
2026-05-27T12:17Z
EPSS history
Timeline
  • 27 MAY 12:17Z
    net: hns3: fix double free issue for tx spare buffer
    cvelistv5