{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-35924", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-05-17T13:50:33.125Z", "datePublished": "2024-05-19T10:10:35.044Z", "dateUpdated": "2026-08-05T11:31:01.698Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:31:01.698Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: typec: ucsi: Limit read size on v1.2\n\nBetween UCSI 1.2 and UCSI 2.0, the size of the MESSAGE_IN region was\nincreased from 16 to 256. In order to avoid overflowing reads for older\nsystems, add a mechanism to use the read UCSI version to truncate read\nsizes on UCSI v1.2." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H", "baseScore": 7.1, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:L - The UCSI core is a local platform driver (ACPI OpRegion, I2C, or pmic_glink transport) with no network or adjacent-network exposure; the over-read is driven by local UCSI transactions and the leaked bytes are harvested locally through /sys/class/typec and /sys/class/power_supply attributes or the UCSI debugfs response file.\nAC:L - There is no race and no dependence on memory layout the attacker cannot influence — any UCSI command requesting more than 16 bytes on a PPM reporting version ≤1.2 deterministically reads past the MESSAGE_IN window, and UCSI 1.x PPMs were the common case on shipping hardware.\nPR:L - The typec class attributes populated from the over-read buffers (usb_power_delivery_revision, number_of_alternate_modes, power_operation_mode, supported_accessory_modes) and the ucsi power-supply properties derived from src_pdos are all DEVICE_ATTR_RO/0444, so an ordinary unprivileged local user can read the disclosed bytes; no capability or root is required to observe the leak.\nUI:N - The oversized MESSAGE_IN reads are issued by the driver itself during registration, resume, and connector-change work handling; no victim action is needed for the out-of-bounds access to occur or for its results to be exposed.\nS:U - The out-of-bounds read stays within the kernel's own memory (memremap'd OpRegion, or the slab objects backing struct pmic_glink_ucsi / struct ucsi_ccg) and is consumed by the same kernel; no VM, IOMMU, or sandbox boundary is crossed.\nC:H - Up to 240 bytes beyond the 16-byte MESSAGE_IN window can be copied out — past read_buf[48] inside struct pmic_glink_ucsi, past the trailing op_data member of struct ucsi_ccg, or past the ACPI OpRegion — which is far more than a strictly bounded few-byte read and can expose adjacent heap contents (including pointers) through world-readable sysfs.\nI:N - The defect is purely an over-long read; every destination buffer is sized to the requested length, so no out-of-bounds write, allocation-size confusion, or control-flow corruption primitive is created.\nA:H - Reading hundreds of bytes past the end of a memremap'd ACPI/MMIO OpRegion can fault on platforms where the mapping does not extend that far, and the slab over-reads in the ccg and glink backends trip KASAN, so the bug can take the machine down." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/usb/typec/ucsi/ucsi.c", "drivers/usb/typec/ucsi/ucsi.h" ], "versions": [ { "version": "bdc62f2bae8fb0e8e99574de5232f0a3c54a27df", "lessThan": "266f403ec47573046dee4bcebda82777ce702c40", "status": "affected", "versionType": "git" }, { "version": "bdc62f2bae8fb0e8e99574de5232f0a3c54a27df", "lessThan": "0defcaa09d3b21e8387829ee3a652c43fa91e13f", "status": "affected", "versionType": "git" }, { "version": "bdc62f2bae8fb0e8e99574de5232f0a3c54a27df", "lessThan": "b3db266fb031fba88c423d4bb8983a73a3db6527", "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/usb/typec/ucsi/ucsi.c", "drivers/usb/typec/ucsi/ucsi.h" ], "versions": [ { "version": "5.5", "status": "affected" }, { "version": "0", "lessThan": "5.5", "status": "unaffected", "versionType": "semver" }, { "version": "6.6.27", "lessThanOrEqual": "6.6.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.8.6", "lessThanOrEqual": "6.8.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.9", "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": "5.5", "versionEndExcluding": "6.6.27" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.5", "versionEndExcluding": "6.8.6" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "5.5", "versionEndExcluding": "6.9" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/266f403ec47573046dee4bcebda82777ce702c40" }, { "url": "https://git.kernel.org/stable/c/0defcaa09d3b21e8387829ee3a652c43fa91e13f" }, { "url": "https://git.kernel.org/stable/c/b3db266fb031fba88c423d4bb8983a73a3db6527" } ], "title": "usb: typec: ucsi: Limit read size on v1.2", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "title": "CISA ADP Vulnrichment", "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-35924", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-05-20T15:11:13.299971Z" } } } ], "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-06-04T17:34:40.719Z" } }, { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-02T03:21:48.935Z" }, "title": "CVE Program Container", "references": [ { "url": "https://git.kernel.org/stable/c/266f403ec47573046dee4bcebda82777ce702c40", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/0defcaa09d3b21e8387829ee3a652c43fa91e13f", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/b3db266fb031fba88c423d4bb8983a73a3db6527", "tags": [ "x_transferred" ] } ] } ] } }