In the Linux kernel, the following vulnerability has been resolved:
xsk: fix an integer overflow in xpcreateandassignumem()
Since the i and pool->chunk_size variables are of type 'u32', their product can wrap around and then be cast to 'u64'. This can lead to two different XDP buffers pointing to the same memory area.
Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with SVACE.
[
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1695.0,
"function_hash": "9786753257409000528024730446006921438"
},
"id": "CVE-2025-21997-35bed14b",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@559847f56769037e5b2e0474d3dbff985b98083d",
"target": {
"file": "net/xdp/xsk_buff_pool.c",
"function": "xp_create_and_assign_umem"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"102022582027600783508538016840961890324",
"138607715713282259178543774505240401749",
"307816094005554492447086374614443111029",
"259107017353966444040507408683066518068"
]
},
"id": "CVE-2025-21997-39f8606d",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@130290f44bce0eead2b827302109afc3fe189ddd",
"target": {
"file": "net/xdp/xsk_buff_pool.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"102022582027600783508538016840961890324",
"138607715713282259178543774505240401749",
"307816094005554492447086374614443111029",
"259107017353966444040507408683066518068"
]
},
"id": "CVE-2025-21997-3b73594c",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@559847f56769037e5b2e0474d3dbff985b98083d",
"target": {
"file": "net/xdp/xsk_buff_pool.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1628.0,
"function_hash": "106520747879279534962751351002431485412"
},
"id": "CVE-2025-21997-4a58ab92",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7b4be1fa43294b50b22e812715198629806678a",
"target": {
"file": "net/xdp/xsk_buff_pool.c",
"function": "xp_create_and_assign_umem"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1695.0,
"function_hash": "9786753257409000528024730446006921438"
},
"id": "CVE-2025-21997-4b83580f",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7670c197b0f1a8726ad5c87bc2bf001a1fc1bbd",
"target": {
"file": "net/xdp/xsk_buff_pool.c",
"function": "xp_create_and_assign_umem"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1555.0,
"function_hash": "269505111616198744060194823392073981269"
},
"id": "CVE-2025-21997-5fb7afe6",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@205649d642a5b376724f04f3a5b3586815e43d3b",
"target": {
"file": "net/xdp/xsk_buff_pool.c",
"function": "xp_create_and_assign_umem"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"102022582027600783508538016840961890324",
"138607715713282259178543774505240401749",
"307816094005554492447086374614443111029",
"259107017353966444040507408683066518068"
]
},
"id": "CVE-2025-21997-6e0c04cd",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7b4be1fa43294b50b22e812715198629806678a",
"target": {
"file": "net/xdp/xsk_buff_pool.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"102022582027600783508538016840961890324",
"138607715713282259178543774505240401749",
"307816094005554492447086374614443111029",
"259107017353966444040507408683066518068"
]
},
"id": "CVE-2025-21997-70ef4d85",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c7670c197b0f1a8726ad5c87bc2bf001a1fc1bbd",
"target": {
"file": "net/xdp/xsk_buff_pool.c"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1739.0,
"function_hash": "249456402747280609453255283433860763261"
},
"id": "CVE-2025-21997-ae246e1e",
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@130290f44bce0eead2b827302109afc3fe189ddd",
"target": {
"file": "net/xdp/xsk_buff_pool.c",
"function": "xp_create_and_assign_umem"
}
},
{
"deprecated": false,
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"102022582027600783508538016840961890324",
"138607715713282259178543774505240401749",
"307816094005554492447086374614443111029",
"259107017353966444040507408683066518068"
]
},
"id": "CVE-2025-21997-dd22b4ee",
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@205649d642a5b376724f04f3a5b3586815e43d3b",
"target": {
"file": "net/xdp/xsk_buff_pool.c"
}
}
]