{"api_version":"1","generated_at":"2026-08-22T21:52:58+00:00","cve":"CVE-2026-74664","urls":{"html":"https://cve.report/CVE-2026-74664","api":"https://cve.report/api/cve/CVE-2026-74664.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-74664","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-74664"},"summary":{"title":"net: openvswitch: reallocate update replies for mismatched IDs","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: reallocate update replies for mismatched IDs\n\novs_flow_cmd_new() preallocates the optional reply skb before it takes\novs_mutex and before it knows which existing flow will be updated.\n\nThat is normally fine because the skb is sized from the request flow\nidentifier.  That identifier also becomes the inserted flow's identifier.\nFor updates, however, a request with a UFID may miss the UFID lookup and\nthen fall back to the flow key lookup.  That lookup can legitimately find\nan existing key-identified flow.  UFIDs are optional and the flow key is\nthe primary identifier.\n\nFor echoed replies, ovs_flow_cmd_fill_info() writes the matched flow's\nidentifier, not the request identifier used for the preallocation.  A short\nrequest UFID can therefore leave too little room for the key identifier.\nThe fill can then fail with -EMSGSIZE and hit the BUG_ON(error < 0) in the\nupdate path.\n\nOnce the update target has been resolved, reallocate the reply skb if the\nmatched flow needs a larger reply than the request identifier allowed.  Do\nthis before replacing the actions so the request can still fail cleanly if\nthe rare extra allocation fails.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-22 16:16:40","updated_at":"2026-08-22 16:16:40"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/69f40ccf85074981340847d650a9cbf9adabfbbe","name":"https://git.kernel.org/stable/c/69f40ccf85074981340847d650a9cbf9adabfbbe","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/23716dd9d8d46a5908536b73dc085e62f2b5c237","name":"https://git.kernel.org/stable/c/23716dd9d8d46a5908536b73dc085e62f2b5c237","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/bd8ca84d48cd9a4f6fc63df26512c55e1d339927","name":"https://git.kernel.org/stable/c/bd8ca84d48cd9a4f6fc63df26512c55e1d339927","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/5d1c224dd914579524a183a514c12b95095d12ce","name":"https://git.kernel.org/stable/c/5d1c224dd914579524a183a514c12b95095d12ce","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/20751193d83be2e9735d4faee71375691c09cd13","name":"https://git.kernel.org/stable/c/20751193d83be2e9735d4faee71375691c09cd13","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/696a0b9435fce9cf4f1e9ba7f6afa6bee96c97fc","name":"https://git.kernel.org/stable/c/696a0b9435fce9cf4f1e9ba7f6afa6bee96c97fc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/00f987f066e802793a37dd2167459e67cf2cf2ec","name":"https://git.kernel.org/stable/c/00f987f066e802793a37dd2167459e67cf2cf2ec","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/87d0c0040b5d4b61de51ae39132c4c46709f2f77","name":"https://git.kernel.org/stable/c/87d0c0040b5d4b61de51ae39132c4c46709f2f77","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-74664","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-74664","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 bd8ca84d48cd9a4f6fc63df26512c55e1d339927 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 00f987f066e802793a37dd2167459e67cf2cf2ec git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 696a0b9435fce9cf4f1e9ba7f6afa6bee96c97fc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 87d0c0040b5d4b61de51ae39132c4c46709f2f77 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 69f40ccf85074981340847d650a9cbf9adabfbbe git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 23716dd9d8d46a5908536b73dc085e62f2b5c237 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 20751193d83be2e9735d4faee71375691c09cd13 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 74ed7ab9264c54471c7f057409d352052820d750 5d1c224dd914579524a183a514c12b95095d12ce git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4.0","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 4.0 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.265 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.216 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.183 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.152 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.104 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.45 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.9 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["net/openvswitch/datapath.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"bd8ca84d48cd9a4f6fc63df26512c55e1d339927","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"00f987f066e802793a37dd2167459e67cf2cf2ec","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"696a0b9435fce9cf4f1e9ba7f6afa6bee96c97fc","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"87d0c0040b5d4b61de51ae39132c4c46709f2f77","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"69f40ccf85074981340847d650a9cbf9adabfbbe","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"23716dd9d8d46a5908536b73dc085e62f2b5c237","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"20751193d83be2e9735d4faee71375691c09cd13","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"},{"lessThan":"5d1c224dd914579524a183a514c12b95095d12ce","status":"affected","version":"74ed7ab9264c54471c7f057409d352052820d750","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["net/openvswitch/datapath.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"4.0"},{"lessThan":"4.0","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.265","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.216","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.183","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.152","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.104","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.45","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.9","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.265","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.216","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.183","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.152","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.104","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.45","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.9","versionStartIncluding":"4.0","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"4.0","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: reallocate update replies for mismatched IDs\n\novs_flow_cmd_new() preallocates the optional reply skb before it takes\novs_mutex and before it knows which existing flow will be updated.\n\nThat is normally fine because the skb is sized from the request flow\nidentifier.  That identifier also becomes the inserted flow's identifier.\nFor updates, however, a request with a UFID may miss the UFID lookup and\nthen fall back to the flow key lookup.  That lookup can legitimately find\nan existing key-identified flow.  UFIDs are optional and the flow key is\nthe primary identifier.\n\nFor echoed replies, ovs_flow_cmd_fill_info() writes the matched flow's\nidentifier, not the request identifier used for the preallocation.  A short\nrequest UFID can therefore leave too little room for the key identifier.\nThe fill can then fail with -EMSGSIZE and hit the BUG_ON(error < 0) in the\nupdate path.\n\nOnce the update target has been resolved, reallocate the reply skb if the\nmatched flow needs a larger reply than the request identifier allowed.  Do\nthis before replacing the actions so the request can still fail cleanly if\nthe rare extra allocation fails."}],"providerMetadata":{"dateUpdated":"2026-08-22T15:32:36.616Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/bd8ca84d48cd9a4f6fc63df26512c55e1d339927"},{"url":"https://git.kernel.org/stable/c/00f987f066e802793a37dd2167459e67cf2cf2ec"},{"url":"https://git.kernel.org/stable/c/696a0b9435fce9cf4f1e9ba7f6afa6bee96c97fc"},{"url":"https://git.kernel.org/stable/c/87d0c0040b5d4b61de51ae39132c4c46709f2f77"},{"url":"https://git.kernel.org/stable/c/69f40ccf85074981340847d650a9cbf9adabfbbe"},{"url":"https://git.kernel.org/stable/c/23716dd9d8d46a5908536b73dc085e62f2b5c237"},{"url":"https://git.kernel.org/stable/c/20751193d83be2e9735d4faee71375691c09cd13"},{"url":"https://git.kernel.org/stable/c/5d1c224dd914579524a183a514c12b95095d12ce"}],"title":"net: openvswitch: reallocate update replies for mismatched IDs","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-74664","datePublished":"2026-08-22T15:32:36.616Z","dateReserved":"2026-08-15T05:44:03.924Z","dateUpdated":"2026-08-22T15:32:36.616Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-22 16:16:40","lastModifiedDate":"2026-08-22 16:16:40","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"74664","Ordinal":"1","Title":"net: openvswitch: reallocate update replies for mismatched IDs","CVE":"CVE-2026-74664","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"74664","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: reallocate update replies for mismatched IDs\n\novs_flow_cmd_new() preallocates the optional reply skb before it takes\novs_mutex and before it knows which existing flow will be updated.\n\nThat is normally fine because the skb is sized from the request flow\nidentifier.  That identifier also becomes the inserted flow's identifier.\nFor updates, however, a request with a UFID may miss the UFID lookup and\nthen fall back to the flow key lookup.  That lookup can legitimately find\nan existing key-identified flow.  UFIDs are optional and the flow key is\nthe primary identifier.\n\nFor echoed replies, ovs_flow_cmd_fill_info() writes the matched flow's\nidentifier, not the request identifier used for the preallocation.  A short\nrequest UFID can therefore leave too little room for the key identifier.\nThe fill can then fail with -EMSGSIZE and hit the BUG_ON(error < 0) in the\nupdate path.\n\nOnce the update target has been resolved, reallocate the reply skb if the\nmatched flow needs a larger reply than the request identifier allowed.  Do\nthis before replacing the actions so the request can still fail cleanly if\nthe rare extra allocation fails.","Type":"Description","Title":"net: openvswitch: reallocate update replies for mismatched IDs"}]}}}