Use After Free Affecting kernel-zfcpdump-modules-extra package, versions <0:5.14.0-284.75.1.el9_2


Severity

Recommended
high

Based on Red Hat Enterprise Linux security rating.

Threat Intelligence

EPSS
0.05% (17th 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 Use After Free vulnerabilities in an interactive lesson.

Start learning
  • Snyk IDSNYK-RHEL9-KERNELZFCPDUMPMODULESEXTRA-7559612
  • published25 Jul 2024
  • disclosed22 May 2024

Introduced: 22 May 2024

CVE-2021-47459  (opens in a new tab)
CWE-416  (opens in a new tab)
First added by Snyk

How to fix?

Upgrade RHEL:9 kernel-zfcpdump-modules-extra to version 0:5.14.0-284.75.1.el9_2 or higher.
This issue was patched in RHSA-2024:4823.

NVD Description

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

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

can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv

It will trigger UAF for rx_kref of j1939_priv as following.

    cpu0                                    cpu1

j1939_sk_bind(socket0, ndev0, ...) j1939_netdev_start j1939_sk_bind(socket1, ndev0, ...) j1939_netdev_start j1939_priv_set j1939_priv_get_by_ndev_locked j1939_jsk_add ..... j1939_netdev_stop kref_put_lock(&priv->rx_kref, ...) kref_get(&priv->rx_kref, ...) REFCOUNT_WARN("addition on 0;...")

==================================================== refcount_t: addition on 0; use-after-free. WARNING: CPU: 1 PID: 20874 at lib/refcount.c:25 refcount_warn_saturate+0x169/0x1e0 RIP: 0010:refcount_warn_saturate+0x169/0x1e0 Call Trace: j1939_netdev_start+0x68b/0x920 j1939_sk_bind+0x426/0xeb0 ? security_socket_bind+0x83/0xb0

The rx_kref's kref_get() and kref_put() should use j1939_netdev_lock to protect.

CVSS Scores

version 3.1