CVE-2024-57841

net: fix memory leak in tcp_conn_request()

Medium · published January 15, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
12.4
In the wild
Unconfirmed
What it is

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:

[<ffffffffb93e8d4c>] kmem_cache_alloc+0x60c/0xa80

[<ffffffffba11b4c5>] dst_alloc+0x55/0x250

[<ffffffffba227bf6>] rt_dst_alloc+0x46/0x1d0

[<ffffffffba23050a>] __mkroute_output+0x29a/0xa50

[<ffffffffba23456b>] ip_route_output_key_hash+0x10b/0x240

[<ffffffffba2346bd>] ip_route_output_flow+0x1d/0x90

[<ffffffffba254855>] inet_csk_route_req+0x2c5/0x500

[<ffffffffba26b331>] tcp_conn_request+0x691/0x12c0

[<ffffffffba27bd08>] tcp_rcv_state_process+0x3c8/0x11b0

[<ffffffffba2965c6>] tcp_v4_do_rcv+0x156/0x3b0

[<ffffffffba299c98>] tcp_v4_rcv+0x1cf8/0x1d80

[<ffffffffba239656>] ip_protocol_deliver_rcu+0xf6/0x360

[<ffffffffba2399a6>] ip_local_deliver_finish+0xe6/0x1e0

[<ffffffffba239b8e>] ip_local_deliver+0xee/0x360

[<ffffffffba239ead>] ip_rcv+0xad/0x2f0

[<ffffffffba110943>] __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().

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00224 · 12.4th percentile
Published
2025-01-15T13:10Z
EPSS history
Timeline
  • 15 JAN 13:10Z
    net: fix memory leak in tcp_conn_request()
    cvelistv5