Dismissed
(max. allowed matches exceeded)
Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
ovpn: fix use after free in unlock_ovpn()
In the Linux kernel, the following vulnerability has been resolved: ovpn: fix use after free in unlock_ovpn() unlock_ovpn() iterates over the release_list using llist_for_each_entry() and drops the peer reference inside the loop body via ovpn_peer_put(). If this drops the last reference, the peer is eventually freed. However, llist_for_each_entry() reads peer->release_entry.next in the loop advance expression, which runs after the body. By that time the peer may have already been freed, resulting in a use after free when advancing to the next list entry. Fix this by using llist_for_each_entry_safe(), which caches the next pointer before executing the loop body.
References
Affected products
Linux
- ==6.16
- <6.16
- =<*
- <e1ad6fe5db719874efa45b2caf9934552e09fc43
- =<6.18.*
- <4cdb209f12a89c5faf9be0c45edb90ccdf65db0c
- =<7.1.*
- <5b96227c0e8b212b74838424c929fc889aedb555