CyberAlerts is shutting down on June 30th, 2025. Thank you for your support!

CVE-2024-57841: net: fix memory leak in tcp_conn_request()

Description

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().

Classification

CVE ID: CVE-2024-57841

Affected Products

Vendor: Linux

Product: Linux

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.04% (probability of being exploited)

EPSS Percentile: 5.04% (scored less or equal to compared to others)

EPSS Date: 2025-02-13 (when was this score calculated)

References

https://git.kernel.org/stable/c/9d38959677291552d1b0ed2689a540af279b5bf8
https://git.kernel.org/stable/c/de3f999bf8aee16e9da1c1224191abdc69e97c9d
https://git.kernel.org/stable/c/2af69905180b3fea12f9c1db374b153a06977021
https://git.kernel.org/stable/c/b0b190218c78d8aeecfba36ea3a90063b3ede52d
https://git.kernel.org/stable/c/4f4aa4aa28142d53f8b06585c478476cfe325cfc

Timeline