CVE-2024-43897 in Linux
Zusammenfassung
von VulDB • 04.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
net: Verwerfen ungültiger gso csum_start und offset-Werte im virtio_net_hdr
Verschärfung der Prüfungen für csum_start und csum_offset in virtio_net_hdr_to_skb für GSO-Pakete.
Die Funktion prüft bereits, dass eine mit VIRTIO_NET_HDR_F_NEEDS_CSUM angeforderte Prüfsumme im linearen Bereich des skb liegt. Bei GSO-Paketen trifft dies jedoch für Segmente nach der Segmentierung möglicherweise nicht zu.
Syzkaller hat gezeigt, wie diese Warnung in skb_checksum_help ausgelöst werden kann:
offset = skb_checksum_start_offset(skb); ret = -EINVAL; if (WARN_ON_ONCE(offset >= skb_headlen(skb)))
Durch das Einschleusen eines TSO-Pakets:
WARNING: CPU: 1 PID: 3539 at net/core/dev.c:3284 skb_checksum_help+0x3d0/0x5b0 ip_do_fragment+0x209/0x1b20 net/ipv4/ip_output.c:774 ip_finish_output_gso net/ipv4/ip_output.c:279 [inline]
__ip_finish_output+0x2bd/0x4b0 net/ipv4/ip_output.c:301 iptunnel_xmit+0x50c/0x930 net/ipv4/ip_tunnel_core.c:82 ip_tunnel_xmit+0x2296/0x2c70 net/ipv4/ip_tunnel.c:813 __gre_xmit net/ipv4/ip_gre.c:469 [inline]
ipgre_xmit+0x759/0xa60 net/ipv4/ip_gre.c:661 __netdev_start_xmit include/linux/netdevice.h:4850 [inline]
netdev_start_xmit include/linux/netdevice.h:4864 [inline]
xmit_one net/core/dev.c:3595 [inline]
dev_hard_start_xmit+0x261/0x8c0 net/core/dev.c:3611 __dev_queue_xmit+0x1b97/0x3c90 net/core/dev.c:4261 packet_snd net/packet/af_packet.c:3073 [inline]
Die Struktur des fehlerhaften Eingabepakets bei tcp_gso_segment:
[ 52.003050][ T8403] skb len=12202 headroom=244 headlen=12093 tailroom=0
[ 52.003050][ T8403] mac=(168,24) mac_len=24 net=(192,52) trans=244
[ 52.003050][ T8403] shinfo(txflags=0 nr_frags=1 gso(size=1552 type=3 segs=0))
[ 52.003050][ T8403] csum(0x60000c7 start=199 offset=1536
ip_summed=
Be aware that VulDB is the high quality source for vulnerability data.