Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: kcm: use WRITE_ONCE() when changing lower socket callbacks kcm_attach() replaces a live lower TCP socket's sk_data_ready and sk_write_space callbacks with KCM handlers, and kcm_unattach() restores them later. Those callback-pointer updates are still plain stores even though the same fields can be read and invoked concurrently on other CPUs. If another CPU observes an older callback snapshot after the live field has already been restored, callback execution can run with a mismatched target and sk_user_data state, leading to stale or misdirected wakeups. Use WRITE_ONCE() for the callback replacement and restore operations so these shared callback fields follow the same visibility contract already established by the earlier 4022 fixes.
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before 0cb3e2f40679032c1aa2186280a86e5ead0161ee; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before fa26e4606aed0f7fe793c325506adeda1d847a43; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before b4ccd6eef671d7c44a30123cd29f3acf3de8468e; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before b8c90823cdfb5f3d22f261aeb3e9066612853c36; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before 11faefd11ce2448bac7279ab302dd1954a6547fe; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before f01fb6138f8eb606b56ce9158e2d8b72352c53f4; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before 9684fff87124b201e11dea01ded9173025359a0f; affected ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 before 47186409c092cd7dd70350999186c700233e854d |
| Linux / Linux | affected 4.6; unaffected 0 before 4.6; unaffected 5.10.261 through 5.10.*; unaffected 5.15.212 through 5.15.*; unaffected 6.1.178 through 6.1.*; unaffected 6.6.145 through 6.6.*; unaffected 6.12.97 through 6.12.*; unaffected 6.18.40 through 6.18.*; unaffected 7.1.5 through 7.1.*; unaffected 7.2 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/0cb3e2f40679032c1aa2186280a86e5ead0161ee
- https://git.kernel.org/stable/c/fa26e4606aed0f7fe793c325506adeda1d847a43
- https://git.kernel.org/stable/c/b4ccd6eef671d7c44a30123cd29f3acf3de8468e
- https://git.kernel.org/stable/c/b8c90823cdfb5f3d22f261aeb3e9066612853c36
- https://git.kernel.org/stable/c/11faefd11ce2448bac7279ab302dd1954a6547fe
- https://git.kernel.org/stable/c/f01fb6138f8eb606b56ce9158e2d8b72352c53f4
- https://git.kernel.org/stable/c/9684fff87124b201e11dea01ded9173025359a0f
- https://git.kernel.org/stable/c/47186409c092cd7dd70350999186c700233e854d
ADP enrichment
No English description supplied.
No references supplied.