CVE-2022-49017CWE-416

CVE-2022-49017

High · published October 22, 2024

CVSS v3.1
8.8
EPSS
1%
Percentile
50.1
In the wild
Unconfirmed
What it is

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

tipc: re-fetch skb cb after tipc_msg_validate

As the call trace shows, the original skb was freed in tipc_msg_validate(),

and dereferencing the old skb cb would cause an use-after-free crash.

BUG: KASAN: use-after-free in tipc_crypto_rcv_complete+0x1835/0x2240 [tipc]

Call Trace:

<IRQ>

tipc_crypto_rcv_complete+0x1835/0x2240 [tipc]

tipc_crypto_rcv+0xd32/0x1ec0 [tipc]

tipc_rcv+0x744/0x1150 [tipc]

...

Allocated by task 47078:

kmem_cache_alloc_node+0x158/0x4d0

__alloc_skb+0x1c1/0x270

tipc_buf_acquire+0x1e/0xe0 [tipc]

tipc_msg_create+0x33/0x1c0 [tipc]

tipc_link_build_proto_msg+0x38a/0x2100 [tipc]

tipc_link_timeout+0x8b8/0xef0 [tipc]

tipc_node_timeout+0x2a1/0x960 [tipc]

call_timer_fn+0x2d/0x1c0

...

Freed by task 47078:

tipc_msg_validate+0x7b/0x440 [tipc]

tipc_crypto_rcv_complete+0x4b5/0x2240 [tipc]

tipc_crypto_rcv+0xd32/0x1ec0 [tipc]

tipc_rcv+0x744/0x1150 [tipc]

This patch fixes it by re-fetching the skb cb from the new allocated skb

after calling tipc_msg_validate().

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00642 · 50.1th percentile
Weakness
CWE-416 · Use After Free
Published
2024-10-22T00:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 5.5, < 5.10.1585.10.158
linux/linux_kernel≥ 5.11, < 5.15.825.15.82
linux/linux_kernel≥ 5.16, < 6.0.126.0.12
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (4)
EPSS history
Timeline
  • 21 OCT 20:06Z
    tipc: re-fetch skb cb after tipc_msg_validate
    cvelistv5