CVE-2024-42108

net: rswitch: Avoid use-after-free in rswitch_poll()

State
Published
Severity
9.8 Critical
Published
Jul 30, 2024
Updated
Aug 5, 2026
Reserved
Jul 29, 2024

Read the record on cve.org

Description

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

net: rswitch: Avoid use-after-free in rswitch_poll()

The use-after-free is actually in rswitch_tx_free(), which is inlined in rswitch_poll(). Since `skb` and `gq->skbs[gq->dirty]` are in fact the same pointer, the skb is first freed using dev_kfree_skb_any(), then the value in skb->len is used to update the interface statistics.

Let's move around the instructions to use skb->len before the skb is freed.

This bug is trivial to reproduce using KFENCE. It will trigger a splat every few packets. A simple ARP request or ICMP echo request is enough.

Scores

CVSSScoreVectorSource
3.19.8 CriticalCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 0aeec4bb6a9fc963932bf3c929bdf27d835d44e9 to before 4a41bb9f2b402469d425a1c13359d3b3ea4e6403Affected
  • 271e015b91535dd87fd0f5df0cc3b906c2eddef9 to before 92cbbe7759193e3418f38d0d73f8fe125312c58bAffected
  • 271e015b91535dd87fd0f5df0cc3b906c2eddef9 to before 9a0c28efeec6383ef22e97437616b920e7320b67Affected
LinuxLinux
  • 6.8Affected
  • before 6.8Not affected
  • 6.9.9 through 6.9.*Not affected
  • 6.10 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.