cbcvebase.
CVE-2025-21629
published 2025-01-15

CVE-2025-21629: In the Linux kernel, the following vulnerability has been resolved: net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets The blamed commit disabled…

PriorityP422medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.41%
34.1th percentile
In the Linux kernel, the following vulnerability has been resolved:

net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets

The blamed commit disabled hardware offoad of IPv6 packets with
extension headers on devices that advertise NETIF_F_IPV6_CSUM,
based on the definition of that feature in skbuff.h:

* * - %NETIF_F_IPV6_CSUM
* - Driver (device) is only able to checksum plain
* TCP or UDP packets over IPv6. These are specifically
* unencapsulated packets of the form IPv6|TCP or
* IPv6|UDP where the Next Header field in the IPv6
* header is either TCP or UDP. IPv6 extension headers
* are not supported with this feature. This feature
* cannot be set in features for a device with
* NETIF_F_HW_CSUM also set. This feature is being
* DEPRECATED (see below).

The change causes skb_warn_bad_offload to fire for BIG TCP
packets.

[ 496.310233] WARNING: CPU: 13 PID: 23472 at net/core/dev.c:3129 skb_warn_bad_offload+0xc4/0xe0

[ 496.310297] ? skb_warn_bad_offload+0xc4/0xe0
[ 496.310300] skb_checksum_help+0x129/0x1f0
[ 496.310303] skb_csum_hwoffload_help+0x150/0x1b0
[ 496.310306] validate_xmit_skb+0x159/0x270
[ 496.310309] validate_xmit_skb_list+0x41/0x70
[ 496.310312] sch_direct_xmit+0x5c/0x250
[ 496.310317] __qdisc_run+0x388/0x620

BIG TCP introduced an IPV6_TLV_JUMBO IPv6 extension header to
communicate packet length, as this is an IPv6 jumbogram. But, the
feature is only enabled on devices that support BIG TCP TSO. The
header is only present for PF_PACKET taps like tcpdump, and not
transmitted by physical devices.

For this specific case of extension headers that are not
transmitted, return to the situation before the blamed commit
and support hardware offload.

ipv6_has_hopopt_jumbo() tests not only whether this header is present,
but also that it is the only extension header before a terminal (L4)
header.

Affected

38 ranges· showing 25
VendorProductVersion rangeFixed in
debianlinux< linux 6.1.124-1 (bookworm)linux 6.1.124-1 (bookworm)
debianlinux-6.1< linux 6.1.124-1 (bookworm)linux 6.1.124-1 (bookworm)
linuxlinux
linuxlinux
linuxlinux
linuxlinux
linuxlinux
linuxlinux
linuxlinux>= 04c20a9356f283da623903e81e7c6d5df7e4dc3c < d3b7a9c7597b779039a51d7b34116fbe424bf2b7d3b7a9c7597b779039a51d7b34116fbe424bf2b7
linuxlinux>= 04c20a9356f283da623903e81e7c6d5df7e4dc3c < 68e068cabd2c6c533ef934c2e5151609cf6ecc6d68e068cabd2c6c533ef934c2e5151609cf6ecc6d
linuxlinux>= 4.19.323 < 4.204.20
linuxlinux>= 5.10.229 < 5.115.11
linuxlinux>= 5.15.171 < 5.165.16
linuxlinux>= 5.4.285 < 5.55.5
linuxlinux>= 6.1.116 < 6.1.1246.1.124
linuxlinux>= 6.11.7 < 6.126.12
linuxlinux>= 6.6.60 < 6.6.706.6.70
linuxlinux>= a84978a9cda68f0afe3f01d476c68db21526baf1 < ac9cfef69565021c9e1022a493a9c40b03e2caf9ac9cfef69565021c9e1022a493a9c40b03e2caf9
linuxlinux>= c69bc67c1cb211aa390bea6e512bb01b1241fefb < 95ccf006bbc8b59044313b8c309dcf29c546abd495ccf006bbc8b59044313b8c309dcf29c546abd4
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel

CVSS provenance

nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.