Double Free Affecting kernel-devel package, versions <0:5.14.0-427.37.1.el9_4


Severity

Recommended
0.0
high
0
10

Based on AlmaLinux security rating.

Threat Intelligence

EPSS
0.04% (5th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications

Snyk Learn

Learn about Double Free vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-ALMALINUX9-KERNELDEVEL-8324178
  • published4 Nov 2024
  • disclosed24 Sept 2024

Introduced: 24 Sep 2024

CVE-2023-52439  (opens in a new tab)
CWE-415  (opens in a new tab)

How to fix?

Upgrade AlmaLinux:9 kernel-devel to version 0:5.14.0-427.37.1.el9_4 or higher.
This issue was patched in ALSA-2024:6997.

NVD Description

Note: Versions mentioned in the description apply only to the upstream kernel-devel package and not the kernel-devel package as distributed by AlmaLinux. See How to fix? for AlmaLinux:9 relevant fixed versions and status.

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

uio: Fix use-after-free in uio_open

core-1 core-2

uio_unregister_device uio_open idev = idr_find() device_unregister(&idev->dev) put_device(&idev->dev) uio_device_release get_device(&idev->dev) kfree(idev) uio_free_minor(minor) uio_release put_device(&idev->dev) kfree(idev)

In the core-1 uio_unregister_device(), the device_unregister will kfree idev when the idev->dev kobject ref is 1. But after core-1 device_unregister, put_device and before doing kfree, the core-2 may get_device. Then:

  1. After core-1 kfree idev, the core-2 will do use-after-free for idev.
  2. When core-2 do uio_release and put_device, the idev will be double freed.

To address this issue, we can get idev atomic & inc idev reference with minor_lock.

CVSS Scores

version 3.1