---
id: CVE-2024-50258
title: 'net: fix crash when config small gso_max_size/gso_ipv4_max_size'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  net: fix crash when config small gso_max_size/gso_ipv4_max_size

  Config a small gso_max_size/gso_ipv4_max_size will lead to an underflow
  in sk_dst_gso_max_size(), which…
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 <
    90c8482a5d9791259ba77bfdc1849fc5128b4be7
  - >-
    Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 <
    e9365368b483328639c03fc730448dccd5a25b6b
  - >-
    Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 <
    ac5977001eee7660c643f8e07a2de9001990b7b8
  - >-
    Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 <
    e72fd1389a5364bc6aa6312ecf30bdb5891b9486
  - >-
    Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 <
    9ab5cf19fb0e4680f95e506d6c544259bf1111c4
  - Linux 4.16
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-11-05T20:27:58.864590Z'
published: '2024-11-09'
updated: '2026-11-05'
sourceUpdated: '2026-11-05T20:31:22.459Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2024-50258'
references:
  - url: 'https://git.kernel.org/stable/c/90c8482a5d9791259ba77bfdc1849fc5128b4be7'
  - url: 'https://git.kernel.org/stable/c/e9365368b483328639c03fc730448dccd5a25b6b'
  - url: 'https://git.kernel.org/stable/c/ac5977001eee7660c643f8e07a2de9001990b7b8'
  - url: 'https://git.kernel.org/stable/c/e72fd1389a5364bc6aa6312ecf30bdb5891b9486'
  - url: 'https://git.kernel.org/stable/c/9ab5cf19fb0e4680f95e506d6c544259bf1111c4'
tags:
  - cve.org
epss: 0.00218
epssPercentile: 0.12398
ingestedAt: '2026-11-05T22:38:31.829Z'
---

## Overview

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

net: fix crash when config small gso_max_size/gso_ipv4_max_size

Config a small gso_max_size/gso_ipv4_max_size will lead to an underflow
in sk_dst_gso_max_size(), which may trigger a BUG_ON crash,
because sk->sk_gso_max_size would be much bigger than device limits.
Call Trace:
tcp_write_xmit
    tso_segs = tcp_init_tso_segs(skb, mss_now);
        tcp_set_skb_tso_segs
            tcp_skb_pcount_set
                // skb->len = 524288, mss_now = 8
                // u16 tso_segs = 524288/8 = 65535 -> 0
                tso_segs = DIV_ROUND_UP(skb->len, mss_now)
    BUG_ON(!tso_segs)
Add check for the minimum value of gso_max_size and gso_ipv4_max_size.

## Affected

- `Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 < 90c8482a5d9791259ba77bfdc1849fc5128b4be7`
- `Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 < e9365368b483328639c03fc730448dccd5a25b6b`
- `Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 < ac5977001eee7660c643f8e07a2de9001990b7b8`
- `Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 < e72fd1389a5364bc6aa6312ecf30bdb5891b9486`
- `Linux >= 46e6b992c2502b094e61da6994f1363f3b7c1413 < 9ab5cf19fb0e4680f95e506d6c544259bf1111c4`
- `Linux 4.16`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
