ovpn: replace bind when learning local endpoint
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.18.55, 7.2.9
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
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.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From f0281c1d3732d1ec084fa1e06d1767d33e1a570e · fixed in 21dbc9f4d0bdd3b22f91beabc7840064bf11594f; From f0281c1d3732d1ec084fa1e06d1767d33e1a570e · fixed in e283009151d3d131447c2edda500199c5fda5f72; From f0281c1d3732d1ec084fa1e06d1767d33e1a570e · fixed in aea934a221ec6a867221e5b765f65f1857befd53
- Linux Linux
6.16
- KernelLinux
From 6.16.0 · fixed in 6.18.55; From 6.19.0 · fixed in 7.2.9