Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2024-39502— ionic: fix use after netif_napi_del()

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于 ionic 组件在处理网络接口卡的 NAPI(New API)时,存在使用已释放的网络接口卡的问题。

CVSS 7.8 · High EPSS 0.31% · P22

Possible ATT&CK Techniques 1 AI

T1499 · Endpoint Denial of Service

Affected Version Matrix 16

VendorProduct Version RangeStatus
Linux Linux 0f3154e6bcb354968cc04f7cd86ce466f7b9a814< 0d19267cb150e8f76ade210e16ee820a77f684e7 affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< ff9c2a9426ecf5b9631e9fd74993b357262387d6 affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< 8edd18dab443863e9e48f084e7f123fca3065e4e affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< 60cd714871cd5a683353a355cbb17a685245cf84 affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< 183ebc167a8a19e916b885d4bb61a3491991bfa5 affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< a87d72b37b9ec2c1e18fe36b09241d8b30334a2e affected
0f3154e6bcb354968cc04f7cd86ce466f7b9a814< 79f18a41dd056115d685f3b0a419c7cd40055e13 affected
5.4 affected
… +8 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2024-39502

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
ionic: fix use after netif_napi_del()
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: ionic: fix use after netif_napi_del() When queues are started, netif_napi_add() and napi_enable() are called. If there are 4 queues and only 3 queues are used for the current configuration, only 3 queues' napi should be registered and enabled. The ionic_qcq_enable() checks whether the .poll pointer is not NULL for enabling only the using queue' napi. Unused queues' napi will not be registered by netif_napi_add(), so the .poll pointer indicates NULL. But it couldn't distinguish whether the napi was unregistered or not because netif_napi_del() doesn't reset the .poll pointer to NULL. So, ionic_qcq_enable() calls napi_enable() for the queue, which was unregistered by netif_napi_del(). Reproducer: ethtool -L <interface name> rx 1 tx 1 combined 0 ethtool -L <interface name> rx 0 tx 0 combined 1 ethtool -L <interface name> rx 0 tx 0 combined 4 Splat looks like: kernel BUG at net/core/dev.c:6666! Oops: invalid opcode: 0000 [#1] PREEMPT SMP NOPTI CPU: 3 PID: 1057 Comm: kworker/3:3 Not tainted 6.10.0-rc2+ #16 Workqueue: events ionic_lif_deferred_work [ionic] RIP: 0010:napi_enable+0x3b/0x40 Code: 48 89 c2 48 83 e2 f6 80 b9 61 09 00 00 00 74 0d 48 83 bf 60 01 00 00 00 74 03 80 ce 01 f0 4f RSP: 0018:ffffb6ed83227d48 EFLAGS: 00010246 RAX: 0000000000000000 RBX: ffff97560cda0828 RCX: 0000000000000029 RDX: 0000000000000001 RSI: 0000000000000000 RDI: ffff97560cda0a28 RBP: ffffb6ed83227d50 R08: 0000000000000400 R09: 0000000000000001 R10: 0000000000000001 R11: 0000000000000001 R12: 0000000000000000 R13: ffff97560ce3c1a0 R14: 0000000000000000 R15: ffff975613ba0a20 FS: 0000000000000000(0000) GS:ffff975d5f780000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 00007f8f734ee200 CR3: 0000000103e50000 CR4: 00000000007506f0 PKRU: 55555554 Call Trace: <TASK> ? die+0x33/0x90 ? do_trap+0xd9/0x100 ? napi_enable+0x3b/0x40 ? do_error_trap+0x83/0xb0 ? napi_enable+0x3b/0x40 ? napi_enable+0x3b/0x40 ? exc_invalid_op+0x4e/0x70 ? napi_enable+0x3b/0x40 ? asm_exc_invalid_op+0x16/0x20 ? napi_enable+0x3b/0x40 ionic_qcq_enable+0xb7/0x180 [ionic 59bdfc8a035436e1c4224ff7d10789e3f14643f8] ionic_start_queues+0xc4/0x290 [ionic 59bdfc8a035436e1c4224ff7d10789e3f14643f8] ionic_link_status_check+0x11c/0x170 [ionic 59bdfc8a035436e1c4224ff7d10789e3f14643f8] ionic_lif_deferred_work+0x129/0x280 [ionic 59bdfc8a035436e1c4224ff7d10789e3f14643f8] process_one_work+0x145/0x360 worker_thread+0x2bb/0x3d0 ? __pfx_worker_thread+0x10/0x10 kthread+0xcc/0x100 ? __pfx_kthread+0x10/0x10 ret_from_fork+0x2d/0x50 ? __pfx_kthread+0x10/0x10 ret_from_fork_asm+0x1a/0x30
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于 ionic 组件在处理网络接口卡的 NAPI(New API)时,存在使用已释放的网络接口卡的问题。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 0f3154e6bcb354968cc04f7cd86ce466f7b9a814 ~ 0d19267cb150e8f76ade210e16ee820a77f684e7 -
Linux Linux 5.4 -

II. Public POCs for CVE-2024-39502

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-39502

请登录查看更多情报信息。

Other References for CVE-2024-39502 (7)

Same Patch Batch · Linux · 2024-07-12 · 122 CVEs total

CVE-2024-40999 9.8 CRITICAL net: ena: Add validation for completion descriptors consistency
CVE-2024-40923 9.8 CRITICAL vmxnet3: disable rx data ring on dma allocation failure
CVE-2024-40907 9.8 CRITICAL ionic: fix kernel panic in XDP_TX action
CVE-2024-40983 9.8 CRITICAL tipc: force a dst refcount before doing decryption
CVE-2024-40937 9.8 CRITICAL gve: Clear napi->skb before dev_kfree_skb_any()
CVE-2024-40911 8.8 HIGH wifi: cfg80211: Lock wiphy in cfg80211_get_station
CVE-2024-40910 8.8 HIGH ax25: Fix refcount imbalance on inbound connections
CVE-2024-40941 8.1 HIGH wifi: iwlwifi: mvm: don't read past the mfuart notifcation
CVE-2024-40953 7.9 HIGH KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin()
CVE-2024-40954 7.8 HIGH net: do not leave a dangling sk pointer, when socket creation fails
CVE-2024-40918 7.8 HIGH parisc: Try to fix random segmentation faults in package builds
CVE-2024-40924 7.8 HIGH drm/i915/dpt: Make DPT object unshrinkable
CVE-2024-40925 7.8 HIGH block: fix request.queuelist usage in flush
CVE-2024-40943 7.8 HIGH ocfs2: fix races between hole punching and AIO+DIO
CVE-2024-40947 7.8 HIGH ima: Avoid blocking in RCU read-side critical section
CVE-2024-40949 7.8 HIGH mm: shmem: fix getting incorrect lruvec when replacing a shmem folio
CVE-2024-40990 7.8 HIGH RDMA/mlx5: Add check for srq max_sge attribute
CVE-2024-40986 7.8 HIGH dmaengine: xilinx: xdma: Fix data synchronisation in xdma_channel_isr()
CVE-2024-40989 7.8 HIGH KVM: arm64: Disassociate vcpus from redistributor region on teardown
CVE-2024-40984 7.8 HIGH ACPICA: Revert "ACPICA: avoid Info: mapping multiple BARs. Your kernel is fine."

Showing top 20 of 122 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2024-39502

No comments yet


Leave a comment