Read the docs
TI-2024-33400 Aliases CVE-2024-49949GHSA-4x74-8q36-fc3h

net: avoid potential underflow in qdisc_pkt_len_init() with UFO

Priority LOW 25CWE-476Published · Updated

Key facts

Attack vector
Local
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Partial Red Hat: 14 fixed, 2 without a fix

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and Red Hat. Impact type from CWE-476.

Summary

In the Linux kernel, the following vulnerability has been resolved: net: avoid potential underflow in qdisc_pkt_len_init() with UFO After commit 7c6d2ecbda83 ("net: be more gentle about silly gso requests coming from user") virtio_net_hdr_to_skb() had sanity check to detect malicious attempts from user space to cook a bad GSO packet. Then commit cf9acc90c80ec ("net: virtio_net_hdr_to_skb: count transport header in UFO") while fixing one issue, allowed user space to cook a GSO packet with the following characteristic : IPv4 SKB_GSO_UDP, gso_size=3, skb->len = 28. When this packet arrives in qdisc_pkt_len_init(), we end up with hdr_len = 28 (IPv4 header + UDP header), matching skb->len Then the following sets gso_segs to 0 : gso_segs = DIV_ROUND_UP(skb->len - hdr_len, shinfo->gso_size); Then later we set qdisc_skb_cb(skb)->pkt_len to back to zero :/ qdisc_skb_cb(skb)->pkt_len += (gso_segs - 1) * hdr_len; This leads to the following crash in fq_codel [1] qdisc_pkt_len_init() is best effort, we only want an estimation of the bytes sent on the wire, not crashing the kernel. This patch is fixing this particular issue, a following one adds more sanity checks for another potential bug. [1] [ 70.724101] BUG: kernel NULL pointer dereference, address: 0000000000000000 [ 70.724561] #PF: supervisor read access in kernel mode [ 70.724561] #PF: error_code(0x0000) - not-present page [ 70.724561] PGD 10ac61067 P4D 10ac61067 PUD 107ee2067 PMD 0 [ 70.724561] Oops: Oops: 0000 [#1] SMP NOPTI [ 70.724561] CPU: 11 UID: 0 PID: 2163 Comm: b358537762 Not tainted 6.11.0-virtme #991 [ 70.724561] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014 [ 70.724561] RIP: 0010:fq_codel_enqueue (net/sched/sch_fq_codel.c:120 net/sched/sch_fq_codel.c:168 net/sched/sch_fq_codel.c:230) sch_fq_codel [ 70.724561] Code: 24 08 49 c1 e1 06 44 89 7c 24 18 45 31 ed 45 31 c0 31 ff 89 44 24 14 4c 03 8b 90 01 00 00 eb 04 39 ca 73 37 4d 8b 39 83 c7 01 <49> 8b 17 49 89 11 41 8b 57 28 45 8b 5f 34 49 c7 07 00 00 00 00 49 All code ======== 0: 24 08 and $0x8,%al 2: 49 c1 e1 06 shl $0x6,%r9 6: 44 89 7c 24 18 mov %r15d,0x18(%rsp) b: 45 31 ed xor %r13d,%r13d e: 45 31 c0 xor %r8d,%r8d 11: 31 ff xor %edi,%edi 13: 89 44 24 14 mov %eax,0x14(%rsp) 17: 4c 03 8b 90 01 00 00 add 0x190(%rbx),%r9 1e: eb 04 jmp 0x24 20: 39 ca cmp %ecx,%edx 22: 73 37 jae 0x5b 24: 4d 8b 39 mov (%r9),%r15 27: 83 c7 01 add $0x1,%edi 2a:* 49 8b 17 mov (%r15),%rdx <-- trapping instruction 2d: 49 89 11 mov %rdx,(%r9) 30: 41 8b 57 28 mov 0x28(%r15),%edx 34: 45 8b 5f 34 mov 0x34(%r15),%r11d 38: 49 c7 07 00 00 00 00 movq $0x0,(%r15) 3f: 49 rex.WB Code starting with the faulting instruction =========================================== 0: 49 8b 17 mov (%r15),%rdx 3: 49 89 11 mov %rdx,(%r9) 6: 41 8b 57 28 mov 0x28(%r15),%edx a: 45 8b 5f 34 mov 0x34(%r15),%r11d e: 49 c7 07 00 00 00 00 movq $0x0,(%r15) 15: 49 rex.WB [ 70.724561] RSP: 0018:ffff95ae85e6fb90 EFLAGS: 00000202 [ 70.724561] RAX: 0000000002000000 RBX: ffff95ae841de000 RCX: 0000000000000000 [ 70.724561] RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000001 [ 70.724561] RBP: ffff95ae85e6fbf8 R08: 0000000000000000 R09: ffff95b710a30000 [ 70.724561] R10: 0000000000000000 R11: bdf289445ce31881 R12: ffff95ae85e6fc58 [ 70.724561] R13: 0000000000000000 R14: 0000000000000040 R15: 0000000000000000 [ 70.724561] FS: 000000002c5c1380(0000) GS:ffff95bd7fcc0000(0000) knlGS:0000000000000000 [ 70.724561] CS: 0010 DS: 0000 ES: 0000 C ---truncated---

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.0028 20th percentileScored 2026-11-07
Fix Partial Linux (Linux): 4.19.323, 5.4.285, 5.10.227 +7Red Hat: 4 advisoriesRed Hat: 14 fixed, 2 without a fix

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
LinuxLinux4.19.218 to before 4.19.323; 5.4.162 to before 5.4.285; 5.10.82 to before 5.10.227; 5.15.5 to before 5.15.168; 4.14.256 to before 4.154.19.323, 5.4.285, 5.10.227, 5.15.168, 4.15Patch availableCNA
LinuxLinux5.16 and later4.19.323, 5.4.285, 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, 6.11.3, 6.12Patch availableCNA
  • Linux VendorLinux Affected 4.19.218 to before 4.19.323; 5.4.162 to before 5.4.285; 5.10.82 to before 5.10.227; 5.15.5 to before 5.15.168; 4.14.256 to before 4.15 Fixed in 4.19.323, 5.4.285, 5.10.227, 5.15.168, 4.15 Patch available CNA
  • Linux VendorLinux Affected 5.16 and later Fixed in 4.19.323, 5.4.285, 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, 6.11.3, 6.12 Patch available CNA

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*4.14.256 to before 4.19; 4.19.218 to before 5.4; 5.4.162 to before 5.10; 5.10.82 to before 5.10.227; 5.15.5 to before 5.15.168; 5.16 to before 6.1.113; 6.2 to before 6.6.55; 6.7 to before 6.10.14; 6.11 to before 6.11.3VulnerableLinux
cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:*6.12 rc1VulnerableLinux
  • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* Versions 4.14.256 to before 4.19; 4.19.218 to before 5.4; 5.4.162 to before 5.10; 5.10.82 to before 5.10.227; 5.15.5 to before 5.15.168; 5.16 to before 6.1.113; 6.2 to before 6.6.55; 6.7 to before 6.10.14; 6.11 to before 6.11.3 Vulnerable ·Linux
  • cpe:2.3:o:linux:linux_kernel:6.12:rc1:*:*:*:*:*:* Versions 6.12 rc1 Vulnerable ·Linux

Remediation

  • Fix · CNA Linux (Linux) Fixed in 4.19.323, 5.4.285, 5.10.227, 5.15.168, 4.15
  • Fix · CNA Linux (Linux) Fixed in 4.19.323, 5.4.285, 5.10.227, 5.15.168, 6.1.113, 6.6.55, 6.10.14, 6.11.3, 6.12

Red Hat 4 advisories

  • RHSA-2025:2270 Released 2025-03-05 · Red Hat rating Moderate
    kernel security update
    • Red Hat CodeReady Linux Builder EUS (v.9.4) kernel-tools-libs-devel-5.14.0-427.57.1.el9_4, libperf-5.14.0-427.57.1.el9_4
    • Red Hat Enterprise Linux AppStream EUS (v.9.4) kernel-64k-debug-devel-5.14.0-427.57.1.el9_4, kernel-64k-debug-devel-matched-5.14.0-427.57.1.el9_4, kernel-64k-devel-5.14.0-427.57.1.el9_4 +11
    • Red Hat Enterprise Linux BaseOS EUS (v.9.4) bpftool-7.3.0-427.57.1.el9_4, kernel-5.14.0-427.57.1.el9_4, kernel-64k-5.14.0-427.57.1.el9_4 +29
    • Red Hat Enterprise Linux Real Time EUS (v.9.4) kernel-rt-5.14.0-427.57.1.el9_4, kernel-rt-core-5.14.0-427.57.1.el9_4, kernel-rt-debug-5.14.0-427.57.1.el9_4 +9
    • Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4) kernel-rt-5.14.0-427.57.1.el9_4, kernel-rt-core-5.14.0-427.57.1.el9_4, kernel-rt-debug-5.14.0-427.57.1.el9_4 +11
  • RHSA-2024:10943 Released 2024-12-11 · Red Hat rating Moderate
    kernel security update
    • Red Hat Enterprise Linux BaseOS (v. 8) bpftool-4.18.0-553.32.1.el8_10, kernel-4.18.0-553.32.1.el8_10, kernel-abi-stablelists-4.18.0-553.32.1.el8_10 +19
    • Red Hat Enterprise Linux CRB (v. 8) kernel-tools-libs-devel-4.18.0-553.32.1.el8_10
  • RHSA-2024:10939 Released 2024-12-11 · Red Hat rating Moderate
    kernel security update
    • Red Hat CodeReady Linux Builder (v. 9) kernel-tools-libs-devel-5.14.0-503.16.1.el9_5, libperf-5.14.0-503.16.1.el9_5
    • Red Hat Enterprise Linux AppStream (v. 9) kernel-64k-debug-devel-5.14.0-503.16.1.el9_5, kernel-64k-debug-devel-matched-5.14.0-503.16.1.el9_5, kernel-64k-devel-5.14.0-503.16.1.el9_5 +11
    • Red Hat Enterprise Linux BaseOS (v. 9) bpftool-7.4.0-503.16.1.el9_5, kernel-5.14.0-503.16.1.el9_5, kernel-64k-5.14.0-503.16.1.el9_5 +30
    • Red Hat Enterprise Linux Real Time (v. 9) kernel-rt-5.14.0-503.16.1.el9_5, kernel-rt-core-5.14.0-503.16.1.el9_5, kernel-rt-debug-5.14.0-503.16.1.el9_5 +9
    • Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt-5.14.0-503.16.1.el9_5, kernel-rt-core-5.14.0-503.16.1.el9_5, kernel-rt-debug-5.14.0-503.16.1.el9_5 +11
Show 1 more Red Hat advisories
  • RHSA-2024:10944 Released 2024-12-11 · Red Hat rating Moderate
    kernel-rt security update
    • Red Hat Enterprise Linux NFV (v. 8) kernel-rt-4.18.0-553.32.1.rt7.373.el8_10, kernel-rt-core-4.18.0-553.32.1.rt7.373.el8_10, kernel-rt-debug-4.18.0-553.32.1.rt7.373.el8_10 +9
    • Red Hat Enterprise Linux RT (v. 8) kernel-rt-4.18.0-553.32.1.rt7.373.el8_10, kernel-rt-core-4.18.0-553.32.1.rt7.373.el8_10, kernel-rt-debug-4.18.0-553.32.1.rt7.373.el8_10 +7

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

ProductStatusPlan or fix
Red Hat Enterprise Linux 6AffectedNo fix planned: Out of support scope
Red Hat Enterprise Linux 7AffectedNo fix planned: Out of support scope
Red Hat CodeReady Linux Builder (v. 9)Fixed RHSA-2024:10939
Red Hat CodeReady Linux Builder EUS (v.9.4)Fixed RHSA-2025:2270
Red Hat Enterprise Linux AppStream (v. 9)Fixed RHSA-2024:10939
Red Hat Enterprise Linux AppStream EUS (v.9.4)Fixed RHSA-2025:2270
Red Hat Enterprise Linux BaseOS (v. 8)Fixed RHSA-2024:10943
Red Hat Enterprise Linux BaseOS (v. 9)Fixed RHSA-2024:10939
Red Hat Enterprise Linux BaseOS EUS (v.9.4)Fixed RHSA-2025:2270
Red Hat Enterprise Linux CRB (v. 8)Fixed RHSA-2024:10943
Red Hat Enterprise Linux NFV (v. 8)Fixed RHSA-2024:10944
Red Hat Enterprise Linux RT (v. 8)Fixed RHSA-2024:10944
Red Hat Enterprise Linux Real Time (v. 9)Fixed RHSA-2024:10939
Red Hat Enterprise Linux Real Time EUS (v.9.4)Fixed RHSA-2025:2270
Red Hat Enterprise Linux Real Time for NFV (v. 9)Fixed RHSA-2024:10939
Red Hat Enterprise Linux Real Time for NFV EUS (v.9.4)Fixed RHSA-2025:2270

Timeline

  1. 2026-10-02 Threatist record created from CVE-2024-49949
  2. 2026-10-03 Alias added: GHSA-4x74-8q36-fc3h
  3. 2026-10-29 Affected versions changed · Red Hat

References

  • TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
  • TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
  • TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
  • TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
  • TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
  • TI-2021-05514 Heap Out-Of-Bounds Write in Netfilter IP6T_SO_SET_REPLACE KEVCVSS 3.1HIGH 8.3
See all 15278 →

Sources