CVE-2026-98604 (GCVE-0-2026-98604)
Vulnerability from cvelistv5
Published
2026-10-18 15:19
Modified
2026-10-19 09:22
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
ovpn: replace bind when learning local endpoint
struct ovpn_bind is published through peer->bind with RCU, but local
endpoint learning updates bind->local in place under peer->lock. UDP TX
reads the field without that lock. In particular, a concurrent IPv6
update can therefore result in a torn address read.
Use ovpn_peer_reset_sockaddr to publish a replacement bind when learning
a new local endpoint, just as a remote endpoint change does. Preserve
the current remote address and reset the dst cache only after the new
bind has been published successfully.
Track remote endpoint changes separately so that float notification and
transport-address rehashing remain limited to actual peer floats.
References
Impacted products
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"drivers/net/ovpn/peer.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "21dbc9f4d0bdd3b22f91beabc7840064bf11594f",
"status": "affected",
"version": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"versionType": "git"
},
{
"lessThan": "e283009151d3d131447c2edda500199c5fda5f72",
"status": "affected",
"version": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"versionType": "git"
},
{
"lessThan": "aea934a221ec6a867221e5b765f65f1857befd53",
"status": "affected",
"version": "f0281c1d3732d1ec084fa1e06d1767d33e1a570e",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"drivers/net/ovpn/peer.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.16"
},
{
"lessThan": "6.16",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.55",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.9",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.55",
"versionStartIncluding": "6.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.9",
"versionStartIncluding": "6.16",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3",
"versionStartIncluding": "6.16",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\novpn: replace bind when learning local endpoint\n\nstruct ovpn_bind is published through peer-\u003ebind with RCU, but local\nendpoint learning updates bind-\u003elocal in place under peer-\u003elock. UDP TX\nreads the field without that lock. In particular, a concurrent IPv6\nupdate can therefore result in a torn address read.\n\nUse ovpn_peer_reset_sockaddr to publish a replacement bind when learning\na new local endpoint, just as a remote endpoint change does. Preserve\nthe current remote address and reset the dst cache only after the new\nbind has been published successfully.\n\nTrack remote endpoint changes separately so that float notification and\ntransport-address rehashing remain limited to actual peer floats."
}
],
"providerMetadata": {
"dateUpdated": "2026-10-19T09:22:31.480Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/21dbc9f4d0bdd3b22f91beabc7840064bf11594f"
},
{
"url": "https://git.kernel.org/stable/c/e283009151d3d131447c2edda500199c5fda5f72"
},
{
"url": "https://git.kernel.org/stable/c/aea934a221ec6a867221e5b765f65f1857befd53"
}
],
"title": "ovpn: replace bind when learning local endpoint",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-98604",
"datePublished": "2026-10-18T15:19:17.227Z",
"dateReserved": "2026-09-25T10:25:14.359Z",
"dateUpdated": "2026-10-19T09:22:31.480Z",
"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…