In the Linux kernel, the following vulnerability has been resolved:
net: fix geneve_opt length integer overflow
struct geneve_opt uses 5 bit length for each single option, which means every vary size option should be smaller than 128 bytes.
However, all current related Netlink policies cannot promise this length condition and the attacker can exploit a exact 128-byte size option to fake a zero length option and confuse the parsing logic, further achieve heap out-of-bounds read.
One example crash log is like below:
[ 3.905425] ================================================================== [ 3.905925] BUG: KASAN: slab-out-of-bounds in nlaput+0xa9/0xe0 [ 3.906255] Read of size 124 at addr ffff888005f291cc by task poc/177 [ 3.906646] [ 3.906775] CPU: 0 PID: 177 Comm: poc-oob-read Not tainted 6.1.132 #1 [ 3.907131] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.16.0-0-gd239552ce722-prebuilt.qemu.org 04/01/2014 [ 3.907784] Call Trace: [ 3.907925] <TASK> [ 3.908048] dumpstacklvl+0x44/0x5c [ 3.908258] printreport+0x184/0x4be [ 3.909151] kasanreport+0xc5/0x100 [ 3.909539] kasancheckrange+0xf3/0x1a0 [ 3.909794] memcpy+0x1f/0x60 [ 3.909968] nlaput+0xa9/0xe0 [ 3.910147] tunnelkeydump+0x945/0xba0 [ 3.911536] tcfactiondump1+0x1c1/0x340 [ 3.912436] tcfactiondump+0x101/0x180 [ 3.912689] tcfextsdump+0x164/0x1e0 [ 3.912905] fwdump+0x18b/0x2d0 [ 3.913483] tcffillnode+0x2ee/0x460 [ 3.914778] tfilternotify+0xf4/0x180 [ 3.915208] tcnewtfilter+0xd51/0x10d0 [ 3.918615] rtnetlinkrcvmsg+0x4a2/0x560 [ 3.919118] netlinkrcvskb+0xcd/0x200 [ 3.919787] netlinkunicast+0x395/0x530 [ 3.921032] netlinksendmsg+0x3d0/0x6d0 [ 3.921987] _socksendmsg+0x99/0xa0 [ 3.922220] _syssendto+0x1b7/0x240 [ 3.922682] _x64syssendto+0x72/0x90 [ 3.922906] dosyscall64+0x5e/0x90 [ 3.923814] entrySYSCALL64afterhwframe+0x6e/0xd8 [ 3.924122] RIP: 0033:0x7e83eab84407 [ 3.924331] Code: 48 89 fa 4c 89 df e8 38 aa 00 00 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 1a 5b c3 0f 1f 84 00 00 00 00 00 48 8b 44 24 10 0f 05 <5b> c3 0f 1f 80 00 00 00 00 83 e2 39 83 faf [ 3.925330] RSP: 002b:00007ffff505e370 EFLAGS: 00000202 ORIG_RAX: 000000000000002c [ 3.925752] RAX: ffffffffffffffda RBX: 00007e83eaafa740 RCX: 00007e83eab84407 [ 3.926173] RDX: 00000000000001a8 RSI: 00007ffff505e3c0 RDI: 0000000000000003 [ 3.926587] RBP: 00007ffff505f460 R08: 00007e83eace1000 R09: 000000000000000c [ 3.926977] R10: 0000000000000000 R11: 0000000000000202 R12: 00007ffff505f3c0 [ 3.927367] R13: 00007ffff505f5c8 R14: 00007e83ead1b000 R15: 00005d4fbbe6dcb8
Fix these issues by enforing correct length condition in related policies.
[
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@21748669c5825761cbbf47cbeeb01387ddccc8cb",
"id": "CVE-2025-22055-03e7e788"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@21748669c5825761cbbf47cbeeb01387ddccc8cb",
"id": "CVE-2025-22055-0f1622e3"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2952776c69a1a551649ed770bf22e3f691f6ec65",
"id": "CVE-2025-22055-1cd47279"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2952776c69a1a551649ed770bf22e3f691f6ec65",
"id": "CVE-2025-22055-267ede02"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4513ad0f391871d3feee8ddf535609a3aabeeac",
"id": "CVE-2025-22055-2aa20af1"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@738ae5712215fe9181587d582b23333f02c62ca6",
"id": "CVE-2025-22055-2f19c61a"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5a2976cc4d9c36ff58a0f10e35ce4283cbaa9c0e",
"id": "CVE-2025-22055-39b6a0de"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5a2976cc4d9c36ff58a0f10e35ce4283cbaa9c0e",
"id": "CVE-2025-22055-3d9a3d73"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b27055a08ad4b415dcf15b63034f9cb236f7fb40",
"id": "CVE-2025-22055-4b6f06c7"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5a2976cc4d9c36ff58a0f10e35ce4283cbaa9c0e",
"id": "CVE-2025-22055-4bc25fac"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@738ae5712215fe9181587d582b23333f02c62ca6",
"id": "CVE-2025-22055-502224b3"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cb85f989e2074e2f392e00188c438cab3de088",
"id": "CVE-2025-22055-605236b6"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4d606069bdd3c76f8ab1f06796c97ef7f4746807",
"id": "CVE-2025-22055-739c91cb"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4d606069bdd3c76f8ab1f06796c97ef7f4746807",
"id": "CVE-2025-22055-7984d92a"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cb85f989e2074e2f392e00188c438cab3de088",
"id": "CVE-2025-22055-7a7c52f2"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@738ae5712215fe9181587d582b23333f02c62ca6",
"id": "CVE-2025-22055-7b93264b"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2952776c69a1a551649ed770bf22e3f691f6ec65",
"id": "CVE-2025-22055-8785f4f4"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b27055a08ad4b415dcf15b63034f9cb236f7fb40",
"id": "CVE-2025-22055-8da169cf"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2952776c69a1a551649ed770bf22e3f691f6ec65",
"id": "CVE-2025-22055-96be622f"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@5a2976cc4d9c36ff58a0f10e35ce4283cbaa9c0e",
"id": "CVE-2025-22055-a4b587e3"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4d606069bdd3c76f8ab1f06796c97ef7f4746807",
"id": "CVE-2025-22055-a7dd2bb5"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@21748669c5825761cbbf47cbeeb01387ddccc8cb",
"id": "CVE-2025-22055-af142489"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cb85f989e2074e2f392e00188c438cab3de088",
"id": "CVE-2025-22055-b306ed3b"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4513ad0f391871d3feee8ddf535609a3aabeeac",
"id": "CVE-2025-22055-bee21f52"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4513ad0f391871d3feee8ddf535609a3aabeeac",
"id": "CVE-2025-22055-d9f21c52"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"95134183225750073838283751266063575501",
"189005381222694627459316412856675405366",
"281744335254548223518382713775922403656",
"106404129684806860871259091524699498775"
]
},
"target": {
"file": "net/netfilter/nft_tunnel.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b4513ad0f391871d3feee8ddf535609a3aabeeac",
"id": "CVE-2025-22055-dfde4598"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@21748669c5825761cbbf47cbeeb01387ddccc8cb",
"id": "CVE-2025-22055-e1e9dd8b"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@4d606069bdd3c76f8ab1f06796c97ef7f4746807",
"id": "CVE-2025-22055-e2b0a8b0"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"135473569131216278837561078357197877946",
"193799258207894597426657645223873216228",
"196128568214857936326496396740813576879",
"140151241379111353266594269281725103511"
]
},
"target": {
"file": "net/sched/act_tunnel_key.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b27055a08ad4b415dcf15b63034f9cb236f7fb40",
"id": "CVE-2025-22055-e43e3fff"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"301119437846137419610901814977667542070",
"269590927623329946200307121289179564552",
"264471410795331296226278296153064111518",
"11753747276119077537390021125452821392"
]
},
"target": {
"file": "net/ipv4/ip_tunnel_core.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@738ae5712215fe9181587d582b23333f02c62ca6",
"id": "CVE-2025-22055-ea7cc281"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@a2cb85f989e2074e2f392e00188c438cab3de088",
"id": "CVE-2025-22055-eab9462e"
},
{
"digest": {
"threshold": 0.9,
"line_hashes": [
"193993338913911207863196523478047892060",
"9809563287299564305819394841507264599",
"328409207012497128019819075033884077526",
"204014386467876147236594885956227848611"
]
},
"target": {
"file": "net/sched/cls_flower.c"
},
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b27055a08ad4b415dcf15b63034f9cb236f7fb40",
"id": "CVE-2025-22055-f8ab79c2"
}
]