Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: tipc: fix divide-by-zero in tipc_sk_filter_connect() A user can set conn_timeout to any value via setsockopt(TIPC_CONN_TIMEOUT), including values less than 4. When a SYN is rejected with TIPC_ERR_OVERLOAD and the retry path in tipc_sk_filter_connect() executes: delay %= (tsk->conn_timeout / 4); If conn_timeout is in the range [0, 3], the integer division yields 0, and the modulo operation triggers a divide-by-zero exception, causing a kernel oops/panic. Fix this by clamping conn_timeout to a minimum of 4 at the point of use in tipc_sk_filter_connect(). Oops: divide error: 0000 [#1] SMP KASAN NOPTI CPU: 0 UID: 0 PID: 119 Comm: poc-F144 Not tainted 7.0.0-rc2+ RIP: 0010:tipc_sk_filter_rcv (net/tipc/socket.c:2236 net/tipc/socket.c:2362) Call Trace: tipc_sk_backlog_rcv (include/linux/instrumented.h:82 include/linux/atomic/atomic-instrumented.h:32 include/net/sock.h:2357 net/tipc/socket.c:2406) __release_sock (include/net/sock.h:1185 net/core/sock.c:3213) release_sock (net/core/sock.c:3797) tipc_connect (net/tipc/socket.c:2570) __sys_connect (include/linux/file.h:62 include/linux/file.h:83 net/socket.c:2098)
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 6787927475e52f6933e3affce365dabb2aa2fadf before 600feb0a66a98c6b7f6f02b5f3612e75f9b8540f; affected 6787927475e52f6933e3affce365dabb2aa2fadf before 3bc9998041076ee05d3f312a22cee6b2ca35527f; affected 6787927475e52f6933e3affce365dabb2aa2fadf before 579956f9f297eb1b6a5d24de313f3acccee1f9d5; affected 6787927475e52f6933e3affce365dabb2aa2fadf before a360d3815aae1f00dd71b7714a846482e85cc1f7; affected 6787927475e52f6933e3affce365dabb2aa2fadf before c2ebfbe63deb7bfd4dc2532bae62a7ed67713272; affected 6787927475e52f6933e3affce365dabb2aa2fadf before 2754e7b3d64748643df867d1ea6fec522914b635; affected 6787927475e52f6933e3affce365dabb2aa2fadf before 338c5edeb6ae3f12a4b84dff9d71f6f7f8c202c3; affected 6787927475e52f6933e3affce365dabb2aa2fadf before 6c5a9baa15de240e747263aba435a0951da8d8d2 |
| Linux / Linux | affected 4.20; unaffected 0 before 4.20; unaffected 5.10.253 through 5.10.*; unaffected 5.15.203 through 5.15.*; unaffected 6.1.167 through 6.1.*; unaffected 6.6.130 through 6.6.*; unaffected 6.12.78 through 6.12.*; unaffected 6.18.19 through 6.18.*; unaffected 6.19.9 through 6.19.*; unaffected 7.0 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/600feb0a66a98c6b7f6f02b5f3612e75f9b8540f
- https://git.kernel.org/stable/c/3bc9998041076ee05d3f312a22cee6b2ca35527f
- https://git.kernel.org/stable/c/579956f9f297eb1b6a5d24de313f3acccee1f9d5
- https://git.kernel.org/stable/c/a360d3815aae1f00dd71b7714a846482e85cc1f7
- https://git.kernel.org/stable/c/c2ebfbe63deb7bfd4dc2532bae62a7ed67713272
- https://git.kernel.org/stable/c/2754e7b3d64748643df867d1ea6fec522914b635
- https://git.kernel.org/stable/c/338c5edeb6ae3f12a4b84dff9d71f6f7f8c202c3
- https://git.kernel.org/stable/c/6c5a9baa15de240e747263aba435a0951da8d8d2