CVE-2026-74664 (GCVE-0-2026-74664)
Vulnerability from cvelistv5
Published
2026-08-22 15:32
Modified
2026-08-22 15:32
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: reallocate update replies for mismatched IDs
ovs_flow_cmd_new() preallocates the optional reply skb before it takes
ovs_mutex and before it knows which existing flow will be updated.
That is normally fine because the skb is sized from the request flow
identifier. That identifier also becomes the inserted flow's identifier.
For updates, however, a request with a UFID may miss the UFID lookup and
then fall back to the flow key lookup. That lookup can legitimately find
an existing key-identified flow. UFIDs are optional and the flow key is
the primary identifier.
For echoed replies, ovs_flow_cmd_fill_info() writes the matched flow's
identifier, not the request identifier used for the preallocation. A short
request UFID can therefore leave too little room for the key identifier.
The fill can then fail with -EMSGSIZE and hit the BUG_ON(error < 0) in the
update path.
Once the update target has been resolved, reallocate the reply skb if the
matched flow needs a larger reply than the request identifier allowed. Do
this before replacing the actions so the request can still fail cleanly if
the rare extra allocation fails.
References
Impacted products
| Vendor | Product | Version | ||
|---|---|---|---|---|
| Linux | Linux |
Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 Version: 74ed7ab9264c54471c7f057409d352052820d750 |
||
{
"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\u0027s 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\u0027s\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 \u003c 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"
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…