CVE-2026-98491
In the Linux kernel, the following vulnerability has been resolved:
net: openvswitch: conntrack: avoid modifying shared unconfirmed ct entry
In a case where skb with an unconfirmed ct entry gets cloned, we may end up committing both but with different sets of extensions.
The series of events:
While this is possible to trigger, there should be no practical network pipeline where committing both clones without modifications into the same zone is needed. So, let's just reset the entry in case for some reason we got an skb with a shared one during commit. This doesn't affect any known use cases, but avoids any potential problems with sharing and modification of the unconfirmed ct entry.
Read full descriptionShow less
The fixes tag points to the introduction of helpers, since that's the main UAF trigger for the sharing.
Technical details traces, logs and code from the original report
1. The first clone wants to commit and runs the helpers wiring up
the extension pointer into the expectation list.
2. Then it looses the confirmation keeping the entry unconfirmed.
3. Second clone now wants to commit labels and adds the new extension
for that breaking the pointer in the expectation list causing
UAF on the destruction path later.CVSS
NVD hasn't assigned a CVSS score to this CVE (common since the April 2026 policy change).
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days
- 0.21 %
- Percentile among all scored CVEs
- 11
- Score date
- 10/20/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
Affected technologies (1)
⚠ AI-inferred from the description — NVD hasn't analyzed this CVE yet, these aren't verified CPEs.
References
Show 8 references
- https://git.kernel.org/stable/c/26b2bd70d22457556e2fa01cbf1192cb1a94d619
- https://git.kernel.org/stable/c/37e3c878b183a115f9a114067f9ef3b408ad27fb
- https://git.kernel.org/stable/c/457e0df1b5711fbeb7ba1b6bfd826f5ef30e7e55
- https://git.kernel.org/stable/c/55e5256adf3940e71802e2f749cacf81518726b0
- https://git.kernel.org/stable/c/707c2dc77891a874f4e8c52c285a511079164ec8
- https://git.kernel.org/stable/c/de41ee24f77b0fc45397db3e277cae2adbd43dfe
- https://git.kernel.org/stable/c/e0fa5ea434b7e8467ef3adc64e3858b1ca2a642d
- https://git.kernel.org/stable/c/e2829ae5459ddb5fce526b2e84697edf6c0c3cef
Raw JSON (NVD)
Show
{
"id": "CVE-2026-98491",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "e0fa5ea434b7e8467ef3adc64e3858b1ca2a642d",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "37e3c878b183a115f9a114067f9ef3b408ad27fb",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "707c2dc77891a874f4e8c52c285a511079164ec8",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "de41ee24f77b0fc45397db3e277cae2adbd43dfe",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "55e5256adf3940e71802e2f749cacf81518726b0",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "e2829ae5459ddb5fce526b2e84697edf6c0c3cef",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "457e0df1b5711fbeb7ba1b6bfd826f5ef30e7e55",
"versionType": "git"
},
{
"status": "affected",
"version": "cae3a2627520c3795b54533c5328b77af3405dbe",
"lessThan": "26b2bd70d22457556e2fa01cbf1192cb1a94d619",
"versionType": "git"
}
],
"programFiles": [
"include/net/netfilter/nf_conntrack.h",
"net/openvswitch/conntrack.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.3"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.3",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.271",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.112",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.55",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"include/net/netfilter/nf_conntrack.h",
"net/openvswitch/conntrack.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-10-18T16:17:00.020",
"references": [
{
"url": "https://git.kernel.org/stable/c/26b2bd70d22457556e2fa01cbf1192cb1a94d619",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/37e3c878b183a115f9a114067f9ef3b408ad27fb",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/457e0df1b5711fbeb7ba1b6bfd826f5ef30e7e55",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/55e5256adf3940e71802e2f749cacf81518726b0",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/707c2dc77891a874f4e8c52c285a511079164ec8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/de41ee24f77b0fc45397db3e277cae2adbd43dfe",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e0fa5ea434b7e8467ef3adc64e3858b1ca2a642d",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/e2829ae5459ddb5fce526b2e84697edf6c0c3cef",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nnet: openvswitch: conntrack: avoid modifying shared unconfirmed ct entry\n\nIn a case where skb with an unconfirmed ct entry gets cloned, we may\nend up committing both but with different sets of extensions.\n\nThe series of events:\n\n 1. The first clone wants to commit and runs the helpers wiring up\n the extension pointer into the expectation list.\n 2. Then it looses the confirmation keeping the entry unconfirmed.\n 3. Second clone now wants to commit labels and adds the new extension\n for that breaking the pointer in the expectation list causing\n UAF on the destruction path later.\n\nWhile this is possible to trigger, there should be no practical\nnetwork pipeline where committing both clones without modifications\ninto the same zone is needed. So, let's just reset the entry in case\nfor some reason we got an skb with a shared one during commit. This\ndoesn't affect any known use cases, but avoids any potential problems\nwith sharing and modification of the unconfirmed ct entry.\n\nThe fixes tag points to the introduction of helpers, since that's the\nmain UAF trigger for the sharing."
}
],
"lastModified": "2026-10-19T10:19:01.030",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}