Files
vuln-cve/data/2023/53xxx/CVE-2023-53431.json
T

304 lines
18 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2023-53431",
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"state": "PUBLISHED",
"assignerShortName": "Linux",
"dateReserved": "2025-09-17T14:54:09.745Z",
"datePublished": "2025-09-18T16:04:11.748Z",
"dateUpdated": "2026-08-05T09:14:06.042Z"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-08-05T09:14:06.042Z"
},
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: ses: Handle enclosure with just a primary component gracefully\n\nThis reverts commit 3fe97ff3d949 (\"scsi: ses: Don't attach if enclosure\nhas no components\") and introduces proper handling of case where there are\nno detected secondary components, but primary component (enumerated in\nnum_enclosures) does exist. That fix was originally proposed by Ding Hui\n<dinghui@sangfor.com.cn>.\n\nCompletely ignoring devices that have one primary enclosure and no\nsecondary one results in ses_intf_add() bailing completely\n\n\tscsi 2:0:0:254: enclosure has no enumerated components\n scsi 2:0:0:254: Failed to bind enclosure -12ven in valid configurations such\n\neven on valid configurations with 1 primary and 0 secondary enclosures as\nbelow:\n\n\t# sg_ses /dev/sg0\n\t 3PARdata SES 3321\n\tSupported diagnostic pages:\n\t Supported Diagnostic Pages [sdp] [0x0]\n\t Configuration (SES) [cf] [0x1]\n\t Short Enclosure Status (SES) [ses] [0x8]\n\t# sg_ses -p cf /dev/sg0\n\t 3PARdata SES 3321\n\tConfiguration diagnostic page:\n\t number of secondary subenclosures: 0\n\t generation code: 0x0\n\t enclosure descriptor list\n\t Subenclosure identifier: 0 [primary]\n\t relative ES process id: 0, number of ES processes: 1\n\t number of type descriptor headers: 1\n\t enclosure logical identifier (hex): 20000002ac02068d\n\t enclosure vendor: 3PARdata product: VV rev: 3321\n\t type descriptor header and text list\n\t Element type: Unspecified, subenclosure id: 0\n\t number of possible elements: 1\n\nThe changelog for the original fix follows\n\n=====\nWe can get a crash when disconnecting the iSCSI session,\nthe call trace like this:\n\n [ffff00002a00fb70] kfree at ffff00000830e224\n [ffff00002a00fba0] ses_intf_remove at ffff000001f200e4\n [ffff00002a00fbd0] device_del at ffff0000086b6a98\n [ffff00002a00fc50] device_unregister at ffff0000086b6d58\n [ffff00002a00fc70] __scsi_remove_device at ffff00000870608c\n [ffff00002a00fca0] scsi_remove_device at ffff000008706134\n [ffff00002a00fcc0] __scsi_remove_target at ffff0000087062e4\n [ffff00002a00fd10] scsi_remove_target at ffff0000087064c0\n [ffff00002a00fd70] __iscsi_unbind_session at ffff000001c872c4\n [ffff00002a00fdb0] process_one_work at ffff00000810f35c\n [ffff00002a00fe00] worker_thread at ffff00000810f648\n [ffff00002a00fe70] kthread at ffff000008116e98\n\nIn ses_intf_add, components count could be 0, and kcalloc 0 size scomp,\nbut not saved in edev->component[i].scratch\n\nIn this situation, edev->component[0].scratch is an invalid pointer,\nwhen kfree it in ses_intf_remove_enclosure, a crash like above would happen\nThe call trace also could be other random cases when kfree cannot catch\nthe invalid pointer\n\nWe should not use edev->component[] array when the components count is 0\nWe also need check index when use edev->component[] array in\nses_enclosure_data_process\n====="
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
"baseScore": 8.8,
"baseSeverity": "HIGH"
},
"scenarios": [
{
"lang": "en",
"value": "AV:A - A malicious SES target on the storage fabric (SAS expander/enclosure, FC, or iSCSI/SRP) supplies a configuration page with zero DEVICE/ARRAY_DEVICE elements; the commit’s own crash path is iSCSI session teardown into ses_intf_remove_enclosure(), matching sibling SES fabric scores (CVE-2023-53675/53803/7324).\nAC:L - The attacker fully controls the SES page-1 type list and can deterministically report no DEVICE/ARRAY_DEVICE components, then drop the session to hit the unguarded edev->component[0] access; no race or uncontrolled timing is required.\nPR:N - ses_intf_add() runs automatically from the SCSI class_interface during LUN discovery for any target that sets the EncServ INQUIRY bit or is TYPE_ENCLOSURE, with no host credentials or capabilities required.\nUI:N - Enclosure bind/unbind is driven by kernel hotplug and session teardown (e.g. __iscsi_unbind_session); the attacker’s fabric device presents and disconnects without any victim mount, open, or configuration step.\nS:U - The slab OOB read and resulting kfree operate on ordinary host-kernel heap within the same security authority; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Reading past the zero-length component[] flex array yields an 8-byte neighbour pointer that is passed to kfree(), freeing a live adjacent object and enabling a groomable use-after-free kernel-memory read primitive.\nI:H - kfree() of the OOB-derived pointer is an invalid/duplicate-free primitive: reclaiming the still-referenced slab object allows overwrite of kernel data and control-flow hijack, consistent with the same remove-path bug in CVE-2023-53521.\nA:H - The bogus free corrupts the allocator and oopses/panics (as in the documented iSCSI disconnect trace), and the attacker can re-trigger by re-presenting and dropping the malicious enclosure at will."
}
]
}
],
"affected": [
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/scsi/ses.c"
],
"versions": [
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "4e7c498c3713b09bef20c76c7319555637e8bbd5",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "110d425cdfb15006f3c4fde5264e786a247b6b36",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "176d7345b89ced72020a313bfa4e7f345d1c3aed",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "05143d90ac90b7abc6692285895a1ef460e008ee",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "f8e702c54413eee2d8f94f61d18adadac7c87e87",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "eabc4872f172ecb8dd8536bc366a51868154a450",
"status": "affected",
"versionType": "git"
},
{
"version": "9927c68864e9c39cc317b4f559309ba29e642168",
"lessThan": "c8e22b7a1694bb8d025ea636816472739d859145",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/scsi/ses.c"
],
"versions": [
{
"version": "2.6.25",
"status": "affected"
},
{
"version": "0",
"lessThan": "2.6.25",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "4.19.281",
"lessThanOrEqual": "4.19.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.4.241",
"lessThanOrEqual": "5.4.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.10.178",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "5.15.108",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.1.25",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.2.12",
"lessThanOrEqual": "6.2.*",
"status": "unaffected",
"versionType": "semver"
},
{
"version": "6.3",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"operator": "OR",
"negate": false,
"cpeMatch": [
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "4.19.281"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "5.4.241"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "5.10.178"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "5.15.108"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "6.1.25"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "6.2.12"
},
{
"vulnerable": true,
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionStartIncluding": "2.6.25",
"versionEndExcluding": "6.3"
}
]
}
]
}
],
"references": [
{
"url": "https://git.kernel.org/stable/c/4e7c498c3713b09bef20c76c7319555637e8bbd5"
},
{
"url": "https://git.kernel.org/stable/c/110d425cdfb15006f3c4fde5264e786a247b6b36"
},
{
"url": "https://git.kernel.org/stable/c/176d7345b89ced72020a313bfa4e7f345d1c3aed"
},
{
"url": "https://git.kernel.org/stable/c/05143d90ac90b7abc6692285895a1ef460e008ee"
},
{
"url": "https://git.kernel.org/stable/c/f8e702c54413eee2d8f94f61d18adadac7c87e87"
},
{
"url": "https://git.kernel.org/stable/c/eabc4872f172ecb8dd8536bc366a51868154a450"
},
{
"url": "https://git.kernel.org/stable/c/c8e22b7a1694bb8d025ea636816472739d859145"
}
],
"title": "scsi: ses: Handle enclosure with just a primary component gracefully",
"x_generator": {
"engine": "bippy-1.2.0"
}
},
"adp": [
{
"metrics": [
{
"cvssV3_1": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 5.5,
"attackVector": "LOCAL",
"baseSeverity": "MEDIUM",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"integrityImpact": "NONE",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "HIGH",
"privilegesRequired": "LOW",
"confidentialityImpact": "NONE"
}
},
{
"other": {
"type": "ssvc",
"content": {
"id": "CVE-2023-53431",
"role": "CISA Coordinator",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"version": "2.0.3",
"timestamp": "2026-01-14T19:15:06.852762Z"
}
}
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"type": "CWE",
"description": "CWE-noinfo Not enough information"
}
]
}
],
"title": "CISA ADP Vulnrichment",
"providerMetadata": {
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP",
"dateUpdated": "2026-01-14T19:23:09.474Z"
}
}
]
}
}