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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2021-47557— net/sched: sch_ets: don't peek at classes beyond 'nbands'

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 存在安全漏洞,该漏洞源于 net/sched:sch_ets 模块存在漏洞。

AI Predicted 6.5 Difficulty: Moderate EPSS 0.24% · P14

Possible ATT&CK Techniques 1 AI

T1496 · Resource Hijacking

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux dcc68b4d8084e1ac9af0d4022d6b1aff6a139a33< ae2659d2c670252759ee9c823c4e039c0e05a6f2 affected
dcc68b4d8084e1ac9af0d4022d6b1aff6a139a33< e25bdbc7e951ae5728fee1f4c09485df113d013c affected
dcc68b4d8084e1ac9af0d4022d6b1aff6a139a33< de6d25924c2a8c2988c6a385990cafbe742061bf affected
5.6 affected
< 5.6 unaffected
5.10.83≤ 5.10.* unaffected
5.15.6≤ 5.15.* unaffected
5.16≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2021-47557

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
net/sched: sch_ets: don't peek at classes beyond 'nbands'
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: net/sched: sch_ets: don't peek at classes beyond 'nbands' when the number of DRR classes decreases, the round-robin active list can contain elements that have already been freed in ets_qdisc_change(). As a consequence, it's possible to see a NULL dereference crash, caused by the attempt to call cl->qdisc->ops->peek(cl->qdisc) when cl->qdisc is NULL: BUG: kernel NULL pointer dereference, address: 0000000000000018 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI CPU: 1 PID: 910 Comm: mausezahn Not tainted 5.16.0-rc1+ #475 Hardware name: Red Hat KVM, BIOS 1.11.1-4.module+el8.1.0+4066+0f1aadab 04/01/2014 RIP: 0010:ets_qdisc_dequeue+0x129/0x2c0 [sch_ets] Code: c5 01 41 39 ad e4 02 00 00 0f 87 18 ff ff ff 49 8b 85 c0 02 00 00 49 39 c4 0f 84 ba 00 00 00 49 8b ad c0 02 00 00 48 8b 7d 10 <48> 8b 47 18 48 8b 40 38 0f ae e8 ff d0 48 89 c3 48 85 c0 0f 84 9d RSP: 0000:ffffbb36c0b5fdd8 EFLAGS: 00010287 RAX: ffff956678efed30 RBX: 0000000000000000 RCX: 0000000000000000 RDX: 0000000000000002 RSI: ffffffff9b938dc9 RDI: 0000000000000000 RBP: ffff956678efed30 R08: e2f3207fe360129c R09: 0000000000000000 R10: 0000000000000001 R11: 0000000000000001 R12: ffff956678efeac0 R13: ffff956678efe800 R14: ffff956611545000 R15: ffff95667ac8f100 FS: 00007f2aa9120740(0000) GS:ffff95667b800000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 CR2: 0000000000000018 CR3: 000000011070c000 CR4: 0000000000350ee0 Call Trace: <TASK> qdisc_peek_dequeued+0x29/0x70 [sch_ets] tbf_dequeue+0x22/0x260 [sch_tbf] __qdisc_run+0x7f/0x630 net_tx_action+0x290/0x4c0 __do_softirq+0xee/0x4f8 irq_exit_rcu+0xf4/0x130 sysvec_apic_timer_interrupt+0x52/0xc0 asm_sysvec_apic_timer_interrupt+0x12/0x20 RIP: 0033:0x7f2aa7fc9ad4 Code: b9 ff ff 48 8b 54 24 18 48 83 c4 08 48 89 ee 48 89 df 5b 5d e9 ed fc ff ff 0f 1f 00 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa <53> 48 83 ec 10 48 8b 05 10 64 33 00 48 8b 00 48 85 c0 0f 85 84 00 RSP: 002b:00007ffe5d33fab8 EFLAGS: 00000202 RAX: 0000000000000002 RBX: 0000561f72c31460 RCX: 0000561f72c31720 RDX: 0000000000000002 RSI: 0000561f72c31722 RDI: 0000561f72c31720 RBP: 000000000000002a R08: 00007ffe5d33fa40 R09: 0000000000000014 R10: 0000000000000000 R11: 0000000000000246 R12: 0000561f7187e380 R13: 0000000000000000 R14: 0000000000000000 R15: 0000561f72c31460 </TASK> Modules linked in: sch_ets sch_tbf dummy rfkill iTCO_wdt intel_rapl_msr iTCO_vendor_support intel_rapl_common joydev virtio_balloon lpc_ich i2c_i801 i2c_smbus pcspkr ip_tables xfs libcrc32c crct10dif_pclmul crc32_pclmul crc32c_intel ahci libahci ghash_clmulni_intel serio_raw libata virtio_blk virtio_console virtio_net net_failover failover sunrpc dm_mirror dm_region_hash dm_log dm_mod CR2: 0000000000000018 Ensuring that 'alist' was never zeroed [1] was not sufficient, we need to remove from the active list those elements that are no more SP nor DRR. [1] https://lore.kernel.org/netdev/60d274838bf09777f0371253416e8af71360bc08.1633609148.git.dcaratti@redhat.com/ v3: fix race between ets_qdisc_change() and ets_qdisc_dequeue() delisting DRR classes beyond 'nbands' in ets_qdisc_change() with the qdisc lock acquired, thanks to Cong Wang. v2: when a NULL qdisc is found in the DRR active list, try to dequeue skb from the next list item.
Source: CVE Program / CVE List V5
CVSS Information
N/A
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 存在安全漏洞,该漏洞源于 net/sched:sch_ets 模块存在漏洞。
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 dcc68b4d8084e1ac9af0d4022d6b1aff6a139a33 ~ ae2659d2c670252759ee9c823c4e039c0e05a6f2 -
Linux Linux 5.6 -

II. Public POCs for CVE-2021-47557

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

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47557

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

Other References for CVE-2021-47557 (2)

Same Patch Batch · Linux · 2024-05-24 · 72 CVEs total

CVE-2021-47544 9.8 CRITICAL tcp: fix page frag corruption on page fault
CVE-2021-47506 9.8 CRITICAL nfsd: fix use-after-free due to delegation race
CVE-2021-47536 9.8 CRITICAL net/smc: fix wrong list_del in smc_lgr_cleanup_early
CVE-2021-47520 8.8 HIGH can: pch_can: pch_can_rx_normal: fix use after free
CVE-2023-52880 7.8 HIGH tty: n_gsm: require CAP_NET_ADMIN to attach N_GSM0710 ldisc
CVE-2021-47512 7.8 HIGH net/sched: fq_pie: prevent dismantle issue
CVE-2021-47505 7.8 HIGH aio: fix use-after-free due to missing POLLFREE handling
CVE-2021-47502 7.8 HIGH ASoC: codecs: wcd934x: handle channel mappping list correctly
CVE-2021-47517 7.8 HIGH ethtool: do not perform operations on net devices being unregistered
CVE-2021-47533 7.8 HIGH drm/vc4: kms: Clear the HVS FIFO commit pointer once done
CVE-2021-47500 7.8 HIGH iio: mma8452: Fix trigger reference couting
CVE-2021-47541 7.8 HIGH net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources()
CVE-2021-47552 7.8 HIGH blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release()
CVE-2021-47551 7.8 HIGH drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again
CVE-2021-47555 7.8 HIGH net: vlan: fix underflow for the real_dev refcnt
CVE-2021-47561 7.8 HIGH i2c: virtio: disable timeout handling
CVE-2021-47535 7.8 HIGH drm/msm/a6xx: Allocate enough space for GMU registers
CVE-2021-47559 7.5 HIGH net/smc: Fix NULL pointer dereferencing in smc_vlan_by_tcpsk()
CVE-2021-47515 7.5 HIGH seg6: fix the iif in the IPv6 socket control block
CVE-2021-47554 vdpa_sim: avoid putting an uninitialized iova_domain

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-47557

No comments yet


Leave a comment