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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2021-47549— sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl

EPSS 0.02% · P5
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2021-47549

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
sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: sata_fsl: fix UAF in sata_fsl_port_stop when rmmod sata_fsl When the `rmmod sata_fsl.ko` command is executed in the PPC64 GNU/Linux, a bug is reported: ================================================================== BUG: Unable to handle kernel data access on read at 0x80000800805b502c Oops: Kernel access of bad area, sig: 11 [#1] NIP [c0000000000388a4] .ioread32+0x4/0x20 LR [80000000000c6034] .sata_fsl_port_stop+0x44/0xe0 [sata_fsl] Call Trace: .free_irq+0x1c/0x4e0 (unreliable) .ata_host_stop+0x74/0xd0 [libata] .release_nodes+0x330/0x3f0 .device_release_driver_internal+0x178/0x2c0 .driver_detach+0x64/0xd0 .bus_remove_driver+0x70/0xf0 .driver_unregister+0x38/0x80 .platform_driver_unregister+0x14/0x30 .fsl_sata_driver_exit+0x18/0xa20 [sata_fsl] .__se_sys_delete_module+0x1ec/0x2d0 .system_call_exception+0xfc/0x1f0 system_call_common+0xf8/0x200 ================================================================== The triggering of the BUG is shown in the following stack: driver_detach device_release_driver_internal __device_release_driver drv->remove(dev) --> platform_drv_remove/platform_remove drv->remove(dev) --> sata_fsl_remove iounmap(host_priv->hcr_base); <---- unmap kfree(host_priv); <---- free devres_release_all release_nodes dr->node.release(dev, dr->data) --> ata_host_stop ap->ops->port_stop(ap) --> sata_fsl_port_stop ioread32(hcr_base + HCONTROL) <---- UAF host->ops->host_stop(host) The iounmap(host_priv->hcr_base) and kfree(host_priv) functions should not be executed in drv->remove. These functions should be executed in host_stop after port_stop. Therefore, we move these functions to the new function sata_fsl_host_stop and bind the new function to host_stop.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于内存释放后重用。
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

VendorProductAffected VersionsCPESubscribe
LinuxLinux faf0b2e5afe7dae072d2715763c7f992b612b628 ~ cdcd80292106df5cda325426e96495503e41f947 -
LinuxLinux 2.6.24 -

II. Public POCs for CVE-2021-47549

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2021-47549

登录查看更多情报信息。

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

CVE-2021-47547net: tulip: de4x5: fix the problem that the array 'lp->phy[8]' may be out of bound
CVE-2021-47569io_uring: fail cancellation for EXITING tasks
CVE-2021-47567powerpc/32: Fix hardlockup on vmap stack overflow
CVE-2021-47554vdpa_sim: avoid putting an uninitialized iova_domain
CVE-2021-47555net: vlan: fix underflow for the real_dev refcnt
CVE-2021-47553sched/scs: Reset task stack state in bringup_cpu()
CVE-2021-47551drm/amd/amdkfd: Fix kernel panic when reset failed and been triggered again
CVE-2021-47552blk-mq: cancel blk-mq dispatch work in both blk_cleanup_queue and disk_release()
CVE-2021-47550drm/amd/amdgpu: fix potential memleak
CVE-2021-47548ethernet: hisilicon: hns: hns_dsaf_misc: fix a possible array overflow in hns_dsaf_ge_srst
CVE-2021-47556ethtool: ioctl: fix potential NULL deref in ethtool_set_coalesce()
CVE-2021-47546ipv6: fix memory leak in fib6_rule_suppress
CVE-2021-47544tcp: fix page frag corruption on page fault
CVE-2021-47542net: qlogic: qlcnic: Fix a NULL pointer dereference in qlcnic_83xx_add_rings()
CVE-2021-47541net/mlx4_en: Fix an use-after-free bug in mlx4_en_try_alloc_resources()
CVE-2021-47540mt76: mt7915: fix NULL pointer dereference in mt7915_get_phy_mode
CVE-2021-47539rxrpc: Fix rxrpc_peer leak in rxrpc_look_up_bundle()
CVE-2021-47538rxrpc: Fix rxrpc_local leak in rxrpc_lookup_peer()
CVE-2021-47536net/smc: fix wrong list_del in smc_lgr_cleanup_early
CVE-2021-47537octeontx2-af: Fix a memleak bug in rvu_mbox_init()

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

IV. Related Vulnerabilities

V. Comments for CVE-2021-47549

No comments yet


Leave a comment