Lucene search

K
cveLinuxCVE-2023-52664
HistoryMay 17, 2024 - 2:15 p.m.

CVE-2023-52664

2024-05-1714:15:08
Linux
web.nvd.nist.gov
41
linux kernel
net atlantic
double free
vulnerability
error handling logic
ring data allocation
memory allocation error
array member
error code

AI Score

6.9

Confidence

Low

EPSS

0

Percentile

15.5%

In the Linux kernel, the following vulnerability has been resolved:

net: atlantic: eliminate double free in error handling logic

Driver has a logic leak in ring data allocation/free,
where aq_ring_free could be called multiple times on same ring,
if system is under stress and got memory allocation error.

Ring pointer was used as an indicator of failure, but this is
not correct since only ring data is allocated/deallocated.
Ring itself is an array member.

Changing ring allocation functions to return error code directly.
This simplifies error handling and eliminates aq_ring_free
on higher layer.

Affected configurations

Vulners
Node
linuxlinux_kernelRange6.1.06.1.77
OR
linuxlinux_kernelRange6.2.06.6.16
OR
linuxlinux_kernelRange6.7.06.7.4
OR
linuxlinux_kernelRange6.8.0
VendorProductVersionCPE
linuxlinux_kernel*cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "unaffected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/ethernet/aquantia/atlantic/aq_ptp.c",
      "drivers/net/ethernet/aquantia/atlantic/aq_ring.c",
      "drivers/net/ethernet/aquantia/atlantic/aq_ring.h",
      "drivers/net/ethernet/aquantia/atlantic/aq_vec.c"
    ],
    "versions": [
      {
        "version": "1da177e4c3f4",
        "lessThan": "0edb3ae8bfa3",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "1da177e4c3f4",
        "lessThan": "c11a870a73a3",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "1da177e4c3f4",
        "lessThan": "d1fde4a7e1dc",
        "status": "affected",
        "versionType": "git"
      },
      {
        "version": "1da177e4c3f4",
        "lessThan": "b3cb7a830a24",
        "status": "affected",
        "versionType": "git"
      }
    ]
  },
  {
    "product": "Linux",
    "vendor": "Linux",
    "defaultStatus": "affected",
    "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
    "programFiles": [
      "drivers/net/ethernet/aquantia/atlantic/aq_ptp.c",
      "drivers/net/ethernet/aquantia/atlantic/aq_ring.c",
      "drivers/net/ethernet/aquantia/atlantic/aq_ring.h",
      "drivers/net/ethernet/aquantia/atlantic/aq_vec.c"
    ],
    "versions": [
      {
        "version": "6.1.77",
        "lessThanOrEqual": "6.1.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.6.16",
        "lessThanOrEqual": "6.6.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.7.4",
        "lessThanOrEqual": "6.7.*",
        "status": "unaffected",
        "versionType": "custom"
      },
      {
        "version": "6.8",
        "lessThanOrEqual": "*",
        "status": "unaffected",
        "versionType": "original_commit_for_fix"
      }
    ]
  }
]

AI Score

6.9

Confidence

Low

EPSS

0

Percentile

15.5%