CVE-2024-49948

net: add more sanity checks to qdisc_pkt_len_init()

MEDIUM
5.5
CVSS Score
Published: October 21, 2024 at 06:02 PM UTC
Updated: October 15, 2026 at 01:19 AM UTC
15 products affected across 2 vendorsLinux KernelSIMATIC S7-1500 CPU 1518-4 Pn /dp MFP FirmwareSiplus S7-1500 CPU 1518-4 Pn /dp MFP Firmware

Using Linux by Linux?

Get instant alerts when new vulnerabilities affect Linux - before attackers find them.

Real-time alertsTrack your software stackFree plan available
Severity
MEDIUM5.5
Exploit prediction
EPSS 0.3%
SSVC
No known exploit

Description

In the Linux kernel, the following vulnerability has been resolved: net: add more sanity checks to qdisc_pkt_len_init() One path takes care of SKB_GSO_DODGY, assuming skb->len is bigger than hdr_len. virtio_net_hdr_to_skb() does not fully dissect TCP headers, it only make sure it is at least 20 bytes. It is possible for an user to provide a malicious 'GSO' packet, total length of 80 bytes. - 20 bytes of IPv4 header - 60 bytes TCP header - a small gso_size like 8 virtio_net_hdr_to_skb() would declare this packet as a normal GSO packet, because it would see 40 bytes of payload, bigger than gso_size. We need to make detect this case to not underflow qdisc_skb_cb(skb)->pkt_len.

Affected

Our own answer: ranges merged, affected separated from platform-only, with confidence and review flags.

3.9 ≤ v < 4.19.3234.20 ≤ v < 5.4.2855.11 ≤ v < 5.15.1685.16 ≤ v < 6.1.1135.5 ≤ v < 5.10.2276.11 ≤ v < 6.11.36.2 ≤ v < 6.6.556.7 ≤ v < 6.10.141def9238d4aa2146924994aa4b7dc861f03b93626.126.12 rc1
Vendor states this is fixed in 1eebe602a8d8264a12e35e39d0645fa88dbbacdd (fixed)
Vendor states this is fixed in 2415f465730e48b6e38da1c7c097317bf5dd2d20 (fixed)
Vendor states this is fixed in 27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4 (fixed)
Vendor states this is fixed in 473426a1d53a68dd1e718e6cd00d57936993fa6c (fixed)
Vendor states this is fixed in 566a931a1436d0e0ad13708ea55479b95426213c (fixed)
Vendor states this is fixed in 9b0ee571d20a238a22722126abdfde61f1b2bdd0 (fixed)
Vendor states this is fixed in ab9a9a9e9647392a19e7a885b08000e89c86b535 (fixed)
Vendor states this is fixed in d7d1a28f5dd57b4d83def876f8d7b4403bd37df9 (fixed)
Vendor states this is fixed in ff1c3cadcf405ab37dd91418a62a7acecf3bc5e2 (fixed)
Vendor states this is fixed in 3.9 (unaffected)
Vendor states this is fixed in 4.19.323 (unaffected)
Vendor states this is fixed in 5.10.227 (unaffected)
Vendor states this is fixed in 5.15.168 (unaffected)
Vendor states this is fixed in 5.4.285 (unaffected)
Vendor states this is fixed in 6.1.113 (unaffected)
Vendor states this is fixed in 6.10.14 (unaffected)
Vendor states this is fixed in 6.11.3 (unaffected)
Vendor states this is fixed in 6.12 (unaffected)
Vendor states this is fixed in 6.6.55 (unaffected)
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement
v < V3.2
Affected range stops below V3.2, so it looks safe — our inference, not a vendor statement

References (14)

Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/1eebe602a8d8264a12e35e39d0645fa88dbbacdd
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/2415f465730e48b6e38da1c7c097317bf5dd2d20
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/27a8fabc54d2f960d47bdfbebf2bdc6e8a92a4c4
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/473426a1d53a68dd1e718e6cd00d57936993fa6c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/566a931a1436d0e0ad13708ea55479b95426213c
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/9b0ee571d20a238a22722126abdfde61f1b2bdd0
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/ab9a9a9e9647392a19e7a885b08000e89c86b535
Patch
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
https://git.kernel.org/stable/c/d7d1a28f5dd57b4d83def876f8d7b4403bd37df9

SSVC — Action Prioritization

SSVCNo known exploitNot automatablePartial impact

SSVC signals action urgency (what to patch first), separate from CVSS which measures severity.

CVSS

Attack Vector
LOCAL
Complexity
LOW
Privileges
LOW
User Interaction
NONE
Scope
UNCHANGED
Confidentiality
NONE
Integrity
NONE
Availability
HIGH
Vector?

Quick Info

StatusMODIFIED
CWE
NVD-CWE-noinfo

Get alerted

Stop reading CVE feeds looking for your own stack

Track the products you run and VulnTracker tells you when a new CVE affects them — with what is known about fixing it, and nothing about the rest.

Free plan, no card