{"id":"CVE-2026-97965","revision":"52ba790be87e4acba04e1b749c99023a","records":[{"revision":"52ba790be87e4acba04e1b749c99023a","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-97965","aliases":[],"title":"vxlan: initialize _md in vxlan_xmit_one()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nvxlan: initialize _md in vxlan_xmit_one()\n\nIf a VXLAN device is configured with both VXLAN_F_COLLECT_METADATA and\nVXLAN_F_GBP, and a packet is transmitted through it using an external\nip_tunnel_info that lacks the IP_TUNNEL_VXLAN_OPT_BIT flag, md is left\npointing to the uninitialized _md stack variable:\n\n                if (test_bit(IP_TUNNEL_VXLAN_OPT_BIT, info->key.tun_flags)) {\n                        if (info->options_len < sizeof(*md))\n                                goto drop;\n                        md = ip_tunnel_info_opts(info);\n                }\n\nBecause IP_TUNNEL_VXLAN_OPT_BIT is not set, md is not updated and remains\npointing to _md. Later, vxlan_build_skb() is called with md, which\neventually calls vxlan_build_gbp_hdr():\n\n        if (vxflags & VXLAN_F_GBP)\n                vxlan_build_gbp_hdr(vxh, md);\n\nInside vxlan_build_gbp_hdr(), md->gbp is read:\n\n        if (!md->gbp)\n                return;\n        gbp = (struct vxlanhdr_gbp *)vxh;\n        ...\n        if (md->gbp & VXLAN_GBP_DONT_LEARN)\n                gbp->dont_learn = 1;\n\nIf the stack contains garbage, this causes:\n1) VXLAN_HF_GBP flag to be spuriously set in the VXLAN header.\n2) gbp->dont_learn and gbp->policy_applied to be set from stack bits.\n3) gbp->policy_id to receive 16 bits of uninitialized kernel stack data,\n   leaking it onto the wire.\n\nFix this by zero-initializing _md. If IP_TUNNEL_VXLAN_OPT_BIT is not\npresent, md->gbp remains 0, and vxlan_build_gbp_hdr() returns early\nwithout modifying the VXLAN header.","state":0,"publishedAt":"2026-09-25T10:23:07.952+00:00","modifiedAt":"2026-10-21T12:53:54.233+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/vxlan/vxlan_core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"ee122c79d4227f6ec642157834b6a90fcffa4382\",\n                            \"lessThan\": \"fb78beb64e0e79557e4cd7cd17fea744bb6f01d9\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ee122c79d4227f6ec642157834b6a90fcffa4382\",\n                            \"lessThan\": \"0d13b5a413bffc8718b3821b78537ccc6596c233\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ee122c79d4227f6ec642157834b6a90fcffa4382\",\n                            \"lessThan\": \"bfb74c48ac2d31476d5e09cf9658844508d2608a\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ee122c79d4227f6ec642157834b6a90fcffa4382\",\n                            \"lessThan\": \"081f22177d9d12b1e381b787f203cd5f47508187\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"ee122c79d4227f6ec642157834b6a90fcffa4382\",\n                            \"lessThan\": \"be83178bfc44588f6e3adb827ed874c683193466\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"drivers/net/vxlan/vxlan_core.c\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4.3\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"4.3\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.6.160\",\n                            \"lessThanOrEqual\": \"6.6.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.12.111\",\n                            \"lessThanOrEqual\": \"6.12.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"6.18.53\",\n                            \"lessThanOrEqual\": \"6.18.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.7\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/fb78beb64e0e79557e4cd7cd17fea744bb6f01d9","https://git.kernel.org/stable/c/0d13b5a413bffc8718b3821b78537ccc6596c233","https://git.kernel.org/stable/c/bfb74c48ac2d31476d5e09cf9658844508d2608a","https://git.kernel.org/stable/c/081f22177d9d12b1e381b787f203cd5f47508187","https://git.kernel.org/stable/c/be83178bfc44588f6e3adb827ed874c683193466"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-97965","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-97965","identifiers":["CVE-2026-97965"]},"retained":false,"historicalAffected":[]}],"coverage":[]}