{"id":"CVE-2024-53213","state":"PUBLISHED","title":"net: usb: lan78xx: Fix double free issue with interrupt buffer allocation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: usb: lan78xx: Fix double free issue with interrupt buffer allocation\n\nIn lan78xx_probe(), the buffer `buf` was being freed twice: once\nimplicitly through `usb_free_urb(dev->urb_intr)` with the\n`URB_FREE_BUFFER` flag and again explicitly by `kfree(buf)`. This caused\na double free issue.\n\nTo resolve this, reordered `kmalloc()` and `usb_alloc_urb()` calls to\nsimplify the initialization sequence and removed the redundant\n`kfree(buf)`.  Now, `buf` is allocated after `usb_alloc_urb()`, ensuring\nit is correctly managed by  `usb_fill_int_urb()` and freed by\n`usb_free_urb()` as intended.","publishedAt":"2024-12-27T13:49:58.709Z","updatedAt":"2026-06-01T16:04:48.226Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"CISA-ADP"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3281ebb3dc5ef19507e65523e9f8c00e20b285ca","status":"affected","lessThan":"cc5aa8e3ad69dcedeba79e667d4a2efb72a305af","versionType":"git"},{"version":"dcafa5a8452738eb28085f559b0683d55e22b2f5","status":"affected","lessThan":"2970ef2fce90c661952ec2b451b0276d5f8d6180","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"977128343fc2a30737399b58df8ea77e94f164bd","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"a422ebec863d99d5607fb41bb7af3347fcb436d3","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"b09512aea6223eec756f52aa584fc29eeab57480","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"03819abbeb11117dcbba40bfe322b88c0c88a6b6","versionType":"git"},{"version":"5.10.252","status":"affected","lessThan":"5.10.258","versionType":"semver"},{"version":"5.15.202","status":"affected","lessThan":"5.15.209","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/usb/lan78xx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.120","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.64","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.11.11","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12.2","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.13","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/usb/lan78xx.c"]}],"references":["https://git.kernel.org/stable/c/cc5aa8e3ad69dcedeba79e667d4a2efb72a305af","https://git.kernel.org/stable/c/2970ef2fce90c661952ec2b451b0276d5f8d6180","https://git.kernel.org/stable/c/977128343fc2a30737399b58df8ea77e94f164bd","https://git.kernel.org/stable/c/a422ebec863d99d5607fb41bb7af3347fcb436d3","https://git.kernel.org/stable/c/b09512aea6223eec756f52aa584fc29eeab57480","https://git.kernel.org/stable/c/7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40","https://git.kernel.org/stable/c/03819abbeb11117dcbba40bfe322b88c0c88a6b6","https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"],"weaknesses":["CWE-415"],"ingestedAt":"2026-10-29T20:08:04.920Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/53xxx/CVE-2024-53213.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-53213","state":"PUBLISHED","datePublished":"2024-12-27T13:49:58.709Z","dateUpdated":"2026-06-01T16:04:48.226Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-11-19T17:17:25.023Z"},"containers":{"cna":{"title":"net: usb: lan78xx: Fix double free issue with interrupt buffer allocation","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: usb: lan78xx: Fix double free issue with interrupt buffer allocation\n\nIn lan78xx_probe(), the buffer `buf` was being freed twice: once\nimplicitly through `usb_free_urb(dev->urb_intr)` with the\n`URB_FREE_BUFFER` flag and again explicitly by `kfree(buf)`. This caused\na double free issue.\n\nTo resolve this, reordered `kmalloc()` and `usb_alloc_urb()` calls to\nsimplify the initialization sequence and removed the redundant\n`kfree(buf)`.  Now, `buf` is allocated after `usb_alloc_urb()`, ensuring\nit is correctly managed by  `usb_fill_int_urb()` and freed by\n`usb_free_urb()` as intended."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"3281ebb3dc5ef19507e65523e9f8c00e20b285ca","status":"affected","lessThan":"cc5aa8e3ad69dcedeba79e667d4a2efb72a305af","versionType":"git"},{"version":"dcafa5a8452738eb28085f559b0683d55e22b2f5","status":"affected","lessThan":"2970ef2fce90c661952ec2b451b0276d5f8d6180","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"977128343fc2a30737399b58df8ea77e94f164bd","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"a422ebec863d99d5607fb41bb7af3347fcb436d3","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"b09512aea6223eec756f52aa584fc29eeab57480","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40","versionType":"git"},{"version":"a6df95cae40bee555e01a37b4023ce8e97ffa249","status":"affected","lessThan":"03819abbeb11117dcbba40bfe322b88c0c88a6b6","versionType":"git"},{"version":"5.10.252","status":"affected","lessThan":"5.10.258","versionType":"semver"},{"version":"5.15.202","status":"affected","lessThan":"5.15.209","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/usb/lan78xx.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.17","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.17","versionType":"semver"},{"version":"5.10.258","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.209","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.120","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.64","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.11.11","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12.2","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.13","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/net/usb/lan78xx.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/cc5aa8e3ad69dcedeba79e667d4a2efb72a305af"},{"url":"https://git.kernel.org/stable/c/2970ef2fce90c661952ec2b451b0276d5f8d6180"},{"url":"https://git.kernel.org/stable/c/977128343fc2a30737399b58df8ea77e94f164bd"},{"url":"https://git.kernel.org/stable/c/a422ebec863d99d5607fb41bb7af3347fcb436d3"},{"url":"https://git.kernel.org/stable/c/b09512aea6223eec756f52aa584fc29eeab57480"},{"url":"https://git.kernel.org/stable/c/7ac9f3c981eeceee2ec4d30d850f4a6f50a1ec40"},{"url":"https://git.kernel.org/stable/c/03819abbeb11117dcbba40bfe322b88c0c88a6b6"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-06-01T16:04:48.226Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.252","versionEndExcluding":"5.10.258"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.202","versionEndExcluding":"5.15.209"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.1.120"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.6.64"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.11.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.12.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17","versionEndExcluding":"6.13"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"id":"CVE-2024-53213","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2025-10-01T20:03:36.748582Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-415","lang":"en","type":"CWE","description":"CWE-415 Double Free"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-10-01T20:07:19.611Z"}},{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T20:47:39.803Z"}}]}}}