Description
In the Linux kernel, the following vulnerability has been resolved: smc: Use __sk_dst_get() and dst_dev_rcu() in in smc_clc_prfx_set(). smc_clc_prfx_set() is called during connect() and not under RCU nor RTNL. Using sk_dst_get(sk)->dev could trigger UAF. Let's use __sk_dst_get() and dev_dst_rcu() under rcu_read_lock() after kernel_getsockname(). Note that the returned value of smc_clc_prfx_set() is not used in the caller. While at it, we change the 1st arg of smc_clc_prfx_set[46]_rcu() not to touch dst there.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
a046d57da19f812216f393e7c535f5858f793ac3 to < 5a2fccc4b32c13ddde3676f9e15e1a9baa7d6fdeaffecteda046d57da19f812216f393e7c535f5858f793ac3 to < 80d1fd39f4e37d836655e9f7ffccaf78925049bfaffecteda046d57da19f812216f393e7c535f5858f793ac3 to < 956c57daba55cf9ed25d9f2512883b8a1a927599affecteda046d57da19f812216f393e7c535f5858f793ac3 to < 0736993bfe5c7a9c744ae3fac62d769dfdae54e1affecteda046d57da19f812216f393e7c535f5858f793ac3 to < 935d783e5de9b64587f3adb25641dd8385e64ddbaffected
Linux Linux
Default version status: affected
4.11affected0 to < 4.11unaffected6.1.187 to ≤ 6.1.*unaffected6.6.156 to ≤ 6.6.*unaffected6.12.108 to ≤ 6.12.*unaffected6.17.3 to ≤ 6.17.*unaffected6.18 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/5a2fccc4b32c13ddde3676f9e15e1a9baa7d6fde ↗
- https://git.kernel.org/stable/c/80d1fd39f4e37d836655e9f7ffccaf78925049bf ↗
- https://git.kernel.org/stable/c/956c57daba55cf9ed25d9f2512883b8a1a927599 ↗
- https://git.kernel.org/stable/c/0736993bfe5c7a9c744ae3fac62d769dfdae54e1 ↗
- https://git.kernel.org/stable/c/935d783e5de9b64587f3adb25641dd8385e64ddb ↗