net:emac/emac-mac: Fix a use after free in emac_mac_tx_buf_send (Linux Linux)

CVE-2021-47013
CRITICAL 9.8

At a glance

Source
NVD
EPSS
EPSS 0.79 % · percentile 56 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

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.

Weaknesses (CWE)

References

Scores

VersionScoreVectorScored by
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1CRITICAL 9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < c7f75d11fe72913d2619f97b2334b083cd7bb955 ; affected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < dc1b438a35773d030be0ee80d9c635c3e558a322 ; affected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < 16d8c44be52e3650917736d45f5904384a9da834 ; affected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < 55fcdd1258faaecca74b91b88cc0921f9edd775d ; affected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < 9dc373f74097edd0e35f3393d6248eda8d1ba99d ; affected b9b17debc69d27cd55e21ee51a5ba7fc50a426cf < 8c06f34785068b87e2b560534c77c163d6c6dca7
Linux · Linuxaffected 4.9 ; unaffected 0 < 4.9 ; unaffected 4.9.269 ≤ 4.9.* ; unaffected 4.14.233 ≤ 4.14.* ; unaffected 4.19.191 ≤ 4.19.* ; unaffected 5.4.119 ≤ 5.4.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD