Categories
CVE-2024-57841

net: fix memory leak in tcp_conn_request()

Summary

net: fix memory leak in tcp_conn_request()

Original description

The description as published by the source.

In the Linux kernel, the following vulnerability has been resolved:

net: fix memory leak in tcp_conn_request()

If inet_csk_reqsk_queue_hash_add() return false, tcp_conn_request() will
return without free the dst memory, which allocated in af_ops->route_req.

Here is the kmemleak stack:

unreferenced object 0xffff8881198631c0 (size 240):
comm "softirq", pid 0, jiffies 4299266571 (age 1802.392s)
hex dump (first 32 bytes):
00 10 9b 03 81 88 ff ff 80 98 da bc ff ff ff ff ................
81 55 18 bb ff ff ff ff 00 00 00 00 00 00 00 00 .U..............
backtrace:
[] kmem_cache_alloc+0x60c/0xa80
[] dst_alloc+0x55/0x250
[] rt_dst_alloc+0x46/0x1d0
[] __mkroute_output+0x29a/0xa50
[] ip_route_output_key_hash+0x10b/0x240
[] ip_route_output_flow+0x1d/0x90
[] inet_csk_route_req+0x2c5/0x500
[] tcp_conn_request+0x691/0x12c0
[] tcp_rcv_state_process+0x3c8/0x11b0
[] tcp_v4_do_rcv+0x156/0x3b0
[] tcp_v4_rcv+0x1cf8/0x1d80
[] ip_protocol_deliver_rcu+0xf6/0x360
[] ip_local_deliver_finish+0xe6/0x1e0
[] ip_local_deliver+0xee/0x360
[] ip_rcv+0xad/0x2f0
[] __netif_receive_skb_one_core+0x123/0x140

Call dst_release() to free the dst memory when
inet_csk_reqsk_queue_hash_add() return false in tcp_conn_request().

Source: OSV.dev (Open Source Vulnerabilities) NVD OSV

Affected packages

Linux Kernel
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.15.176"}]},{"type":"ECOSYSTEM","events":[{"introduced":"5.16.0"},{"fixed":"6.1.124"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.70"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.9"}]}]

Fix status by distribution

Fixed packages published by each distribution for this CVE

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details