Vulnerability · Published Feb 28, 2024 · Assigned by Linux

CVE-2021-47013net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send

Critical 9.8

In plain English

A critical-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.8% (higher than 56% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.8Critical
Exploit odds (30 days)0.8%top 43.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send In emac_mac_tx_buf_send, it calls emac_tx_fill_tpd(..,skb,..). If some error happens in emac_tx_fill_tpd(), the skb will be freed via dev_kfree_skb(skb) in error branch of emac_tx_fill_tpd(). But the freed skb is still used via skb->len by netdev_sent_queue(,skb->len). As i observed that emac_tx_fill_tpd() haven't modified the value of skb->len, thus my patch assigns skb->len to 'len' before the possible free and use 'len' instead of skb->len later.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
AlmaLinux:8bpftool4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-abi-stablelists4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-core4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-cross-headers4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-debug4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-debug-core4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-debug-devel4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-debug-modules4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-debug-modules-extra4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-devel4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-doc4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-headers4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-modules4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-modules-extra4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-rt4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-core4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug-core4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug-devel4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug-kvm4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug-modules4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-debug-modules-extra4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-devel4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-kvm4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-modules4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-rt-modules-extra4.18.0-553.5.1.rt7.346.el8_10ALSA-2024:3627
AlmaLinux:8kernel-tools4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-tools-libs4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-tools-libs-devel4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-zfcpdump4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-zfcpdump-core4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-zfcpdump-devel4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-zfcpdump-modules4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8kernel-zfcpdump-modules-extra4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8perf4.18.0-553.5.1.el8_10ALSA-2024:3618
AlmaLinux:8python3-perf4.18.0-553.5.1.el8_10ALSA-2024:3618
Debian:12linux5.10.38-1DEBIAN-CVE-2021-47013
Debian:13linux5.10.38-1DEBIAN-CVE-2021-47013
Debian:14linux5.10.38-1DEBIAN-CVE-2021-47013
Rocky Linux:8kernel0:4.18.0-553.5.1.el8_10RLSA-2024:3618
Rocky Linux:8kernel-rt0:4.18.0-553.5.1.rt7.346.el8_10RLSA-2024:3627
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2021-47013
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2021-47013
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2021-47013

Affected products (as reported)

VendorProductVersions
Linux Linux b9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before c7f75d11fe72913d2619f97b2334b083cd7bb955b9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before dc1b438a35773d030be0ee80d9c635c3e558a322b9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before 16d8c44be52e3650917736d45f5904384a9da834b9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before 55fcdd1258faaecca74b91b88cc0921f9edd775db9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before 9dc373f74097edd0e35f3393d6248eda8d1ba99db9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before 8c06f34785068b87e2b560534c77c163d6c6dca7b9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before e407495ba6788a67d1bd41714158c079e340879bb9b17debc69d27cd55e21ee51a5ba7fc50a426cf – before 6d72e7c767acbbdd44ebc7d89c6690b405b32b57
Linux Linux 4.9

References