{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-74465","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-08-15T05:44:03.901Z","datePublished":"2026-08-15T12:27:04.403Z","dateUpdated":"2026-08-19T16:37:07.822Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-19T16:37:07.822Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: fix potential UAF on meter attach failure\n\nWhile attaching a newly created meter attach_meter() function makes\nthe new meter visible to other CPUs but can still fail afterwards.\nOn failure, it detaches the meter back and returns an error.\n\nHowever, this is an unexpected behavior for the ovs_meter_cmd_set()\nthat uses a plain kfree(meter) on attach failure without waiting for\nRCU readers to stop using it, assuming it was never visible.\n\nThis is never a problem for ovs-vswitchd as it always creates meters\nbefore creating any flows that use them.  But the UAF can be triggered\nwith a custom application using uAPI:\n\n BUG: KASAN: slab-use-after-free in ovs_meter_execute (net/openvswitch/meter.c:653)\n Read of size 8 at addr ffff88810d152650 by task meter/2508\n\n Call Trace:\n  ovs_meter_execute (net/openvswitch/meter.c:653)\n  do_execute_actions (net/openvswitch/actions.c:1407)\n  ovs_execute_actions (net/openvswitch/actions.c:1584)\n  ovs_packet_cmd_execute (net/openvswitch/datapath.c:703)\n  ...\n  netlink_sendmsg (af_netlink.c:1900)\n\n Allocated by task 2519:\n  __kasan_kmalloc (mm/kasan/common.c:398 mm/kasan/common.c:415)\n  ovs_meter_cmd_set (net/openvswitch/meter.c:422)\n  ...\n  netlink_sendmsg (af_netlink.c:1900)\n\n Freed by task 2519:\n  kfree (mm/slub.c:2705 mm/slub.c:6405 mm/slub.c:6720)\n  ovs_meter_cmd_set (net/openvswitch/meter.c:479)\n  ...\n  netlink_sendmsg (af_netlink.c:1900)\n\nFix that by making sure attach_meter() doesn't make the meter visible\nuntil all the checks are done and the function can't fail anymore.\n\nThis also makes sure the \"hash\" value is calculated after the potential\nre-sizing of the table.\n\nReported by Trend Micro's Zero Day Initiative as ZDI-CAN-31642."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The UAF is triggered when ovs_meter_cmd_set() fails attach_meter() and kfree()s the meter without an RCU grace period; that path is only reachable via the ovs_meter genetlink uAPI (netlink_sendmsg), not by remote packet reception alone.\nAC:L - The attacker controls both sides of the race by concurrently issuing OVS_METER_CMD_SET (forcing post-insert attach failure at max_meters or ENOMEM) and OVS_PACKET_CMD_EXECUTE or traffic on flows with OVS_ACTION_ATTR_METER while parallel_ops allows overlapping handlers.\nPR:L - OVS_METER_CMD_SET and OVS_PACKET_CMD_EXECUTE require CAP_NET_ADMIN checked with netlink_ns_capable() against the socket network namespace; unprivileged users can obtain CAP_NET_ADMIN in a user namespace (unshare -Urn) and the genl family is netnsok.\nUI:N - Exploitation requires only programmatic netlink API calls from the attacker; no victim user action such as opening files, mounting filesystems, or clicking prompts is needed.\nS:U - Successful exploitation compromises kernel memory and privileges on the same host/kernel security authority; it does not inherently cross a VM hypervisor, IOMMU, or hardware isolation boundary.\nC:H - This is a slab use-after-free: concurrent ovs_meter_execute() reads freed dp_meter fields (bands, stats, lock) via RCU lookup, enabling heap spraying and arbitrary kernel memory disclosure primitives.\nI:H - The UAF write path updates freed meter and band statistics, bucket counters, and takes a spinlock on freed memory, providing memory corruption primitives that can be developed into arbitrary kernel writes or code execution.\nA:H - KASAN reproduces slab-use-after-free in ovs_meter_execute during concurrent meter attach failure; UAF on the datapath fast path can cause kernel oops/panic or be abused for repeatable denial of service."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/openvswitch/meter.c"],"versions":[{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"496f3013c6ff759249abcfb2da2361c1a3e2e66d","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"ddc0ef4217cc697c6ba1a295cc1ea42423ec68ac","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"b0de3b58dac3b02b528f72ee0397728aed11f993","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"0310d1fa7f9debd0d89629e9f14c7975a47eaa9a","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"4d03e5fa3fbb1df15258a1eb3d6963f0d65659b3","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"90623c9499627803ef3f04fa25a3199402d4fb95","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"431a295d93f76fbdb6a7cfce92a9e3dfee1e5d61","status":"affected","versionType":"git"},{"version":"c7c4c44c9a95d87e50ced38f7480e779cb472174","lessThan":"a58a2b0ce354df531ebc71fc870058c2feb59f6b","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/openvswitch/meter.c"],"versions":[{"version":"5.8","status":"affected"},{"version":"0","lessThan":"5.8","status":"unaffected","versionType":"semver"},{"version":"5.10.265","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.216","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.183","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.151","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.103","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.44","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.8","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.10.265"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"5.15.216"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.1.183"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.6.151"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.12.103"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"6.18.44"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.1.8"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.8","versionEndExcluding":"7.2"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/496f3013c6ff759249abcfb2da2361c1a3e2e66d"},{"url":"https://git.kernel.org/stable/c/ddc0ef4217cc697c6ba1a295cc1ea42423ec68ac"},{"url":"https://git.kernel.org/stable/c/b0de3b58dac3b02b528f72ee0397728aed11f993"},{"url":"https://git.kernel.org/stable/c/0310d1fa7f9debd0d89629e9f14c7975a47eaa9a"},{"url":"https://git.kernel.org/stable/c/4d03e5fa3fbb1df15258a1eb3d6963f0d65659b3"},{"url":"https://git.kernel.org/stable/c/90623c9499627803ef3f04fa25a3199402d4fb95"},{"url":"https://git.kernel.org/stable/c/431a295d93f76fbdb6a7cfce92a9e3dfee1e5d61"},{"url":"https://git.kernel.org/stable/c/a58a2b0ce354df531ebc71fc870058c2feb59f6b"}],"title":"net: openvswitch: fix potential UAF on meter attach failure","x_generator":{"engine":"bippy-1.2.0"}}}}