CVE-2026-74750: ovpn: defer key slot crypto freeing to workqueue
In the Linux kernel, the following vulnerability has been resolved:
ovpn: defer key slot crypto freeing to workqueue
Key slots are released through a kref and the existing release path frees the AEAD transforms from an RCU callback. That is not safe for all crypto implementations: cryptofreeaead can sleep, for example when an async or hardware implementation has teardown work to complete.
Use queuercuwork for key-slot release. This keeps the RCU grace period needed by lockless key-slot readers, but runs the actual crypto teardown from workqueue context where sleeping is allowed. Once the rcuwork callback runs, pre-existing RCU readers are gone, and the final kref put already proves that no transform user remains, so the worker can release the AEAD transforms and free the slot directly.
The previous patch drains ovpnwq during module exit, so queued key-slot teardown work cannot outlive module text.
Affected Software
Event History
Frequently Asked Questions
Which systems are most likely to be exposed to the unsafe teardown path?
Linux kernel systems using ovpn key slots with AEAD crypto implementations whose teardown may sleep are affected. The description specifically identifies asynchronous or hardware crypto implementations as examples.
What changes after applying the fix?
Key-slot crypto teardown is deferred until after the required RCU grace period and then runs in workqueue context, where sleeping is allowed. The RCU protection for lockless key-slot readers is retained.