CVE-2026-98568
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: vxlan: use one headroom snapshot for neighbour replies vxlan_na_create() samples LL_RESERVED_SPACE() to size the reply skb and then samples it again to reserve headroom. A concurrent vxlan_changelink() can update needed_headroom between the two reads, creating a TOCTOU race. The second value can exceed the allocation and make the Ethernet header write out of bounds. The race is reproducible on the unpatched kernel. It occurred when vxlan_na_create() generated a neighbour reply while vxlan_changelink() changed the link headroom. KASAN caught a four-byte write two bytes beyond a 704-byte skbuff_small_head allocation. Snapshot the headroom once and use that value for both allocation and reservation.
View original CVE JSON
{
"id": "CVE-2026-98568",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2026-10-18T16:17:09.000",
"lastModified": "2026-10-30T13:21:16.090",
"vulnStatus": "Received",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nvxlan: use one headroom snapshot for neighbour replies\n\nvxlan_na_create() samples LL_RESERVED_SPACE() to size the reply skb and then\nsamples it again to reserve headroom. A concurrent vxlan_changelink() can\nupdate needed_headroom between the two reads, creating a TOCTOU race. The\nsecond value can exceed the allocation and make the Ethernet header write out\nof bounds.\n\nThe race is reproducible on the unpatched kernel. It occurred when\nvxlan_na_create() generated a neighbour reply while vxlan_changelink() changed\nthe link headroom. KASAN caught a four-byte write two bytes beyond a 704-byte\nskbuff_small_head allocation.\n\nSnapshot the headroom once and use that value for both allocation and\nreservation."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/net/vxlan/vxlan_core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "e3e24f4c434c56952412f875b834aa9daaa4fb15",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "9ed5a548b42d46e6968a46b67ca8a8e49b12a5a1",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "fcaf456092dc86fd5b0b523ac27ec0d114066931",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "45a67662bf8ce3aa5643accf98d328dfbb47eaf6",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "315d42ca39f69846662961c25dcf2bb07c350d14",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "a3c5eb6e382dd426a5e7eb08608897ed57167ff7",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "ff022fd9d0f0282c575e11778b96bd1b637503eb",
"versionType": "git",
"status": "affected"
},
{
"version": "4b29dba9c085a4fb79058fb1c45a2f6257ca3dfa",
"lessThan": "481506a756dcd828ef42391cb08f38d8d96d38fc",
"versionType": "git",
"status": "affected"
},
{
"version": "d8be18c52dbc94989f6d74637b731af39cd3d902",
"versionType": "git",
"status": "affected"
},
{
"version": "3927dace523706cc00f808520eaf2125dd7c07b5",
"versionType": "git",
"status": "affected"
},
{
"version": "3.12.18",
"lessThan": "3.13",
"versionType": "semver",
"status": "affected"
},
{
"version": "3.13.10",
"lessThan": "3.14",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/net/vxlan/vxlan_core.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "3.14",
"status": "affected"
},
{
"version": "0",
"lessThan": "3.14",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.10.273",
"lessThanOrEqual": "5.10.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "5.15.224",
"lessThanOrEqual": "5.15.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.1.191",
"lessThanOrEqual": "6.1.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.6.158",
"lessThanOrEqual": "6.6.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.12.112",
"lessThanOrEqual": "6.12.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18.55",
"lessThanOrEqual": "6.18.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.2.9",
"lessThanOrEqual": "7.2.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "7.3",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/315d42ca39f69846662961c25dcf2bb07c350d14",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/45a67662bf8ce3aa5643accf98d328dfbb47eaf6",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/481506a756dcd828ef42391cb08f38d8d96d38fc",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9ed5a548b42d46e6968a46b67ca8a8e49b12a5a1",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/a3c5eb6e382dd426a5e7eb08608897ed57167ff7",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e3e24f4c434c56952412f875b834aa9daaa4fb15",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/fcaf456092dc86fd5b0b523ac27ec0d114066931",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/ff022fd9d0f0282c575e11778b96bd1b637503eb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}