In the Linux kernel, the following vulnerability has been resolved:
eth: fbnic: don't cache shinfo across skb realloc
fbnic_tx_lso() calls skb_cow_head() which may reallocate the skb
including the shared info. We can't use the pointer calculated
before the call.
<pre>
BUG: KASAN: slab-use-after-free in fbnic_tx_lso.isra.0+0x668/0x8e0
Read of size 4 at addr ff110000262edd98 by task swapper/5/0
Call Trace:
fbnic_tx_lso.isra.0+0x668/0x8e0
fbnic_xmit_frame+0x622/0xba0
dev_hard_start_xmit+0xf4/0x620
Allocated by task 8653:
__alloc_skb+0x11e/0x5f0
alloc_skb_with_frags+0xcc/0x6c0
sock_alloc_send_pskb+0x327/0x3f0
__ip_append_data+0x188b/0x47a0
ip_make_skb+0x24a/0x300
udp_sendmsg+0x14d2/0x21e0
Freed by task 0:
kfree+0x123/0x5a0
pskb_expand_head+0x36c/0xfa0
fbnic_tx_lso.isra.0+0x500/0x8e0
fbnic_xmit_frame+0x622/0xba0
dev_hard_start_xmit+0xf4/0x620
sch_direct_xmit+0x25b/0x1100
The buggy address belongs to the object at ff110000262edc40
which belongs to the cache skbuff_small_head of size 640
The buggy address is located 344 bytes inside of
freed 640-byte region [ff110000262edc40, ff110000262ede
</pre>
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 9.8
AV:N - The bug is in fbnic_tx_lso on the outbound netdev path; KASAN shows udp_sendmsg→ip_make_skb→dev_hard_start_xmit. Remote peers can trigger GSO/USO/TSO transmits on internet-facing Meta hosts with fbnic (TCP responses or UDP USO), reaching the vulnerable driver without local access.
AC:L - The USO selftest reliably reproduces the UAF when sending UDP_SEGMENT GSO skbs; attackers control MSS, payload size, and timing to force skb_cow_head/pskb_expand_head to reallocate the skb, making the stale shinfo dereference repeatable rather than dependent on uncontrollable state.
PR:N - Triggering requires only standard unprivileged socket sendmsg with GSO/USO offload on a host using fbnic, or causing such outbound segmented traffic as an unauthenticated remote client; no CAP_NET_ADMIN, root, or special credentials are needed along the traced path.
UI:N - Exploitation is fully attacker-driven through crafted network traffic or socket operations; no victim click, mount, or other voluntary action is required beyond normal always-on network service operation.
S:U - Impact is kernel slab corruption and crash/privilege escalation within the host kernel security domain; it does not cross a VM/hypervisor or IOMMU boundary into a separate security authority.
C:H - KASAN reports a slab use-after-free with a 4-byte read from freed skb_shared_info after pskb_expand_head; UAF of shinfo fields (gso_type, gso_size, gso_segs) enables heap grooming and arbitrary kernel memory disclosure.
I:H - Use-after-free of skb_shared_info in the transmit LSO path is memory corruption in attacker-influenced heap objects; stale shinfo values drive metadata and checksum updates, enabling control of kernel data and potential code execution primitives.
A:H - The reported KASAN slab-use-after-free in fbnic_tx_lso causes kernel oops/panic on transmit; repeated GSO/USO/TSO packets can crash or hang the system, denying availability on affected fbnic-equipped servers.
| Attack Vector |
Network |
Scope |
Unchanged |
| Attack Complexity |
Low |
Confidentiality Impact |
High |
| Privileges Required |
None |
Integrity Impact |
High |
| User Interaction |
None |
Availability Impact |
High |
AV:N - The bug is in fbnic_tx_lso on the outbound netdev path; KASAN shows udp_sendmsg→ip_make_skb→dev_hard_start_xmit. Remote peers can trigger GSO/USO/TSO transmits on internet-facing Meta hosts with fbnic (TCP responses or UDP USO), reaching the vulnerable driver without local access.
AC:L - The USO selftest reliably reproduces the UAF when sending UDP_SEGMENT GSO skbs; attackers control MSS, payload size, and timing to force skb_cow_head/pskb_expand_head to reallocate the skb, making the stale shinfo dereference repeatable rather than dependent on uncontrollable state.
PR:N - Triggering requires only standard unprivileged socket sendmsg with GSO/USO offload on a host using fbnic, or causing such outbound segmented traffic as an unauthenticated remote client; no CAP_NET_ADMIN, root, or special credentials are needed along the traced path.
UI:N - Exploitation is fully attacker-driven through crafted network traffic or socket operations; no victim click, mount, or other voluntary action is required beyond normal always-on network service operation.
S:U - Impact is kernel slab corruption and crash/privilege escalation within the host kernel security domain; it does not cross a VM/hypervisor or IOMMU boundary into a separate security authority.
C:H - KASAN reports a slab use-after-free with a 4-byte read from freed skb_shared_info after pskb_expand_head; UAF of shinfo fields (gso_type, gso_size, gso_segs) enables heap grooming and arbitrary kernel memory disclosure.
I:H - Use-after-free of skb_shared_info in the transmit LSO path is memory corruption in attacker-influenced heap objects; stale shinfo values drive metadata and checksum updates, enabling control of kernel data and potential code execution primitives.
A:H - The reported KASAN slab-use-after-free in fbnic_tx_lso causes kernel oops/panic on transmit; repeated GSO/USO/TSO packets can crash or hang the system, denying availability on affected fbnic-equipped servers.
CVSS 3.1