CVE-2025-37920

Source
https://cve.org/CVERecord?id=CVE-2025-37920
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-37920.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-37920
Downstream
Related
Published
2025-05-20T15:21:49.685Z
Modified
2026-03-20T12:42:33.791230Z
Summary
xsk: Fix race condition in AF_XDP generic RX path
Details

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

xsk: Fix race condition in AF_XDP generic RX path

Move rxlock from xsksocket to xskbuffpool. Fix synchronization for shared umem mode in generic RX path where multiple sockets share single xskbuffpool.

RX queue is exclusive to xsk_socket, while FILL queue can be shared between multiple sockets. This could result in race condition where two CPU cores access RX path of two different sockets sharing the same umem.

Protect both queues by acquiring spinlock in shared xskbuffpool.

Lock contention may be minimized in the future by some per-thread FQ buffering.

It's safe and necessary to move spinlockbh(rxlock) after xskrcvcheck(): * xs->pool and spinlockinit is synchronized by xskbind() -> xskisbound() memory barriers. * xskrcvcheck() may return true at the moment of xskrelease() or xskunbinddev(), however this will not cause any data races or race conditions. xskunbinddev() removes xdp socket from all maps and waits for completion of all outstanding rx operations. Packets in RX path will either complete safely or drop.

Database specific
{
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/37xxx/CVE-2025-37920.json",
    "cna_assigner": "Linux"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bf0bdd1343efbbf65b4d53aef1fce14acbd79d50
Fixed
975b372313dc018b9bd6cc0d85d188787054b19e
Fixed
b6978c565ce33658543c637060852434b4248d30
Fixed
65d3c570614b892257dc58a1b202908242ecf8fd
Fixed
75a240a3e8abf17b9e00b0ef0492b1bbaa932251
Fixed
a1356ac7749cafc4e27aa62c0c4604b5dca4983e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Last affected
fd7c22ba7a0ad898b9ecf77dd53f5ccc48492e35
Last affected
8a090e3b73eaffe18e08ccc3fb5abecf6b0a9781

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-37920.json"