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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2023-53431— scsi: ses: Handle enclosure with just a primary component gracefully

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

I. Basic Information for CVE-2023-53431

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
scsi: ses: Handle enclosure with just a primary component gracefully
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: scsi: ses: Handle enclosure with just a primary component gracefully This reverts commit 3fe97ff3d949 ("scsi: ses: Don't attach if enclosure has no components") and introduces proper handling of case where there are no detected secondary components, but primary component (enumerated in num_enclosures) does exist. That fix was originally proposed by Ding Hui <dinghui@sangfor.com.cn>. Completely ignoring devices that have one primary enclosure and no secondary one results in ses_intf_add() bailing completely scsi 2:0:0:254: enclosure has no enumerated components scsi 2:0:0:254: Failed to bind enclosure -12ven in valid configurations such even on valid configurations with 1 primary and 0 secondary enclosures as below: # sg_ses /dev/sg0 3PARdata SES 3321 Supported diagnostic pages: Supported Diagnostic Pages [sdp] [0x0] Configuration (SES) [cf] [0x1] Short Enclosure Status (SES) [ses] [0x8] # sg_ses -p cf /dev/sg0 3PARdata SES 3321 Configuration diagnostic page: number of secondary subenclosures: 0 generation code: 0x0 enclosure descriptor list Subenclosure identifier: 0 [primary] relative ES process id: 0, number of ES processes: 1 number of type descriptor headers: 1 enclosure logical identifier (hex): 20000002ac02068d enclosure vendor: 3PARdata product: VV rev: 3321 type descriptor header and text list Element type: Unspecified, subenclosure id: 0 number of possible elements: 1 The changelog for the original fix follows ===== We can get a crash when disconnecting the iSCSI session, the call trace like this: [ffff00002a00fb70] kfree at ffff00000830e224 [ffff00002a00fba0] ses_intf_remove at ffff000001f200e4 [ffff00002a00fbd0] device_del at ffff0000086b6a98 [ffff00002a00fc50] device_unregister at ffff0000086b6d58 [ffff00002a00fc70] __scsi_remove_device at ffff00000870608c [ffff00002a00fca0] scsi_remove_device at ffff000008706134 [ffff00002a00fcc0] __scsi_remove_target at ffff0000087062e4 [ffff00002a00fd10] scsi_remove_target at ffff0000087064c0 [ffff00002a00fd70] __iscsi_unbind_session at ffff000001c872c4 [ffff00002a00fdb0] process_one_work at ffff00000810f35c [ffff00002a00fe00] worker_thread at ffff00000810f648 [ffff00002a00fe70] kthread at ffff000008116e98 In ses_intf_add, components count could be 0, and kcalloc 0 size scomp, but not saved in edev->component[i].scratch In this situation, edev->component[0].scratch is an invalid pointer, when kfree it in ses_intf_remove_enclosure, a crash like above would happen The call trace also could be other random cases when kfree cannot catch the invalid pointer We should not use edev->component[] array when the components count is 0 We also need check index when use edev->component[] array in ses_enclosure_data_process =====
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 9927c68864e9c39cc317b4f559309ba29e642168 ~ 4e7c498c3713b09bef20c76c7319555637e8bbd5 -
LinuxLinux 2.6.25 -

II. Public POCs for CVE-2023-53431

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2023-53431

登录查看更多情报信息。

Same Patch Batch · Linux · 2025-09-18 · 121 CVEs total

CVE-2022-50402drivers/md/md-bitmap: check the return value of md_bitmap_get_counter()
CVE-2022-50417drm/panfrost: Fix GEM handle creation ref-counting
CVE-2022-50416irqchip/wpcm450: Fix memory leak in wpcm450_aic_of_init()
CVE-2022-50415parisc: led: Fix potential null-ptr-deref in start_task()
CVE-2022-50414scsi: fcoe: Fix transport not deattached when fcoe_if_init() fails
CVE-2022-50413wifi: mac80211: fix use-after-free
CVE-2022-50412drm: bridge: adv7511: unregister cec i2c device after cec adapter
CVE-2022-50411ACPICA: Fix error code path in acpi_ds_call_control_method()
CVE-2022-50410NFSD: Protect against send buffer overflow in NFSv2 READ
CVE-2022-50409net: If sock is dead don't access sock's sk_wq in sk_stream_wait_memory
CVE-2022-50407crypto: hisilicon/qm - increase the memory of local variables
CVE-2022-50408wifi: brcmfmac: fix use-after-free bug in brcmf_netdev_start_xmit()
CVE-2022-50406iomap: iomap: fix memory corruption when recording errors during writeback
CVE-2022-50404fbdev: fbcon: release buffer when fbcon_do_set_font() failed
CVE-2022-50405net/tunnel: wait until all sk_user_data reader finish before releasing the sock
CVE-2023-53409drivers: base: component: fix memory leak with using debugfs_lookup()
CVE-2023-53412USB: gadget: bcm63xx_udc: fix memory leak with using debugfs_lookup()
CVE-2023-53411PM: EM: fix memory leak with using debugfs_lookup()
CVE-2023-53410USB: ULPI: fix memory leak with using debugfs_lookup()
CVE-2023-53407USB: gadget: pxa27x_udc: fix memory leak with using debugfs_lookup()

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

IV. Related Vulnerabilities

V. Comments for CVE-2023-53431

No comments yet


Leave a comment