{"id":"CVE-2024-49860","state":"PUBLISHED","title":"ACPI: sysfs: validate return type of _STR method","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nACPI: sysfs: validate return type of _STR method\n\nOnly buffer objects are valid return values of _STR.\n\nIf something else is returned description_show() will access invalid\nmemory.","publishedAt":"2024-10-21T12:27:18.640Z","updatedAt":"2026-08-05T11:40:08.879Z","severity":{"score":7.3,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"92fd5209fc014405f63a7db79802ca4b01dc0c05","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"2364b6af90c6b6d8a4783e0d3481ca80af699554","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"4b081991c4363e072e1748efed0bbec8a77daba5","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"0cdfb9178a3bba843c95c2117c82c15f1a64b9ce","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"5c8d007c14aefc3f2ddf71e4c40713733dc827be","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f0921ecd4ddc14646bb5511f49db4d7d3b0829f0","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f51e5a88f2e7224858b261546cf6b3037dfb1323","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f51f711d36e61fbb87c67b524fd200e05172668d","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"4bb1e7d027413835b086aed35bc3f0713bc0f72b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/acpi/device_sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.7","versionType":"semver"},{"version":"4.19.323","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.285","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.227","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.168","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.113","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.54","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.10.13","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.2","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/acpi/device_sysfs.c"]}],"references":["https://git.kernel.org/stable/c/92fd5209fc014405f63a7db79802ca4b01dc0c05","https://git.kernel.org/stable/c/2364b6af90c6b6d8a4783e0d3481ca80af699554","https://git.kernel.org/stable/c/4b081991c4363e072e1748efed0bbec8a77daba5","https://git.kernel.org/stable/c/0cdfb9178a3bba843c95c2117c82c15f1a64b9ce","https://git.kernel.org/stable/c/5c8d007c14aefc3f2ddf71e4c40713733dc827be","https://git.kernel.org/stable/c/f0921ecd4ddc14646bb5511f49db4d7d3b0829f0","https://git.kernel.org/stable/c/f51e5a88f2e7224858b261546cf6b3037dfb1323","https://git.kernel.org/stable/c/f51f711d36e61fbb87c67b524fd200e05172668d","https://git.kernel.org/stable/c/4bb1e7d027413835b086aed35bc3f0713bc0f72b","https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html","https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:07:56.516Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/49xxx/CVE-2024-49860.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2024-49860","state":"PUBLISHED","datePublished":"2024-10-21T12:27:18.640Z","dateUpdated":"2026-08-05T11:40:08.879Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2024-10-21T12:17:06.017Z"},"containers":{"cna":{"title":"ACPI: sysfs: validate return type of _STR method","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nACPI: sysfs: validate return type of _STR method\n\nOnly buffer objects are valid return values of _STR.\n\nIf something else is returned description_show() will access invalid\nmemory."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"92fd5209fc014405f63a7db79802ca4b01dc0c05","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"2364b6af90c6b6d8a4783e0d3481ca80af699554","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"4b081991c4363e072e1748efed0bbec8a77daba5","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"0cdfb9178a3bba843c95c2117c82c15f1a64b9ce","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"5c8d007c14aefc3f2ddf71e4c40713733dc827be","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f0921ecd4ddc14646bb5511f49db4d7d3b0829f0","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f51e5a88f2e7224858b261546cf6b3037dfb1323","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"f51f711d36e61fbb87c67b524fd200e05172668d","versionType":"git"},{"version":"d1efe3c324ead77d3f6cd85093b50f6bd2e17aba","status":"affected","lessThan":"4bb1e7d027413835b086aed35bc3f0713bc0f72b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/acpi/device_sysfs.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.7","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.7","versionType":"semver"},{"version":"4.19.323","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.285","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.227","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.168","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.113","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.54","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.10.13","status":"unaffected","lessThanOrEqual":"6.10.*","versionType":"semver"},{"version":"6.11.2","status":"unaffected","lessThanOrEqual":"6.11.*","versionType":"semver"},{"version":"6.12","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/acpi/device_sysfs.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/92fd5209fc014405f63a7db79802ca4b01dc0c05"},{"url":"https://git.kernel.org/stable/c/2364b6af90c6b6d8a4783e0d3481ca80af699554"},{"url":"https://git.kernel.org/stable/c/4b081991c4363e072e1748efed0bbec8a77daba5"},{"url":"https://git.kernel.org/stable/c/0cdfb9178a3bba843c95c2117c82c15f1a64b9ce"},{"url":"https://git.kernel.org/stable/c/5c8d007c14aefc3f2ddf71e4c40713733dc827be"},{"url":"https://git.kernel.org/stable/c/f0921ecd4ddc14646bb5511f49db4d7d3b0829f0"},{"url":"https://git.kernel.org/stable/c/f51e5a88f2e7224858b261546cf6b3037dfb1323"},{"url":"https://git.kernel.org/stable/c/f51f711d36e61fbb87c67b524fd200e05172668d"},{"url":"https://git.kernel.org/stable/c/4bb1e7d027413835b086aed35bc3f0713bc0f72b"}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H","baseScore":7.3,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable code is reached by reading the world-readable sysfs attribute /sys/bus/acpi/devices/<dev>/description, which requires a local account (or a container/sandbox with /sys mounted). There is no network or physical-access requirement for the reading attacker.\nAC:L - On an affected platform a single read(2) of the sysfs file deterministically hits the type-confused dereference — no race, no memory-layout grooming, and no ASLR bypass is needed, and the read can be repeated at will since str_obj is cached at boot.\nPR:L - The description attribute is created via DEVICE_ATTR_RO (mode 0444) under a world-traversable /sys/bus/acpi/devices/ tree, so any unprivileged local user can read it; no capability, user namespace, or root access is required.\nUI:N - Exploitation consists solely of the attacker opening and reading a sysfs file; no victim action, mount, or configuration change is involved.\nS:U - The invalid access and its consequences are entirely within the kernel's own security authority — there is no hypervisor, IOMMU, or other security-boundary crossing.\nC:H - The type confusion feeds a firmware-supplied pointer and length into utf16s_to_utf8s(), whose output is copied straight to userspace — yielding an out-of-bounds heap read past the ACPI object (STRING case), disclosure of raw kernel pointers from the elements array (PACKAGE case), or a fully controlled arbitrary-address read (PROCESSOR/pblk_address on 64-bit, INTEGER on 32-bit), up to 4095 bytes per read and repeatable.\nI:L - No write primitive exists — the output is correctly bounded to the sysfs page — but the confusion makes the kernel dereference a firmware-controlled address that is semantically an I/O address, so reads landing on direct-mapped MMIO can alter device state through read-side-effect registers, a limited and non-targeted modification.\nA:H - The confused pointer is a NULL/low address in the POWER case and an arbitrary or out-of-bounds address in the others, so an unprivileged read reliably produces a kernel oops — a full panic on the panic_on_oops configurations common in embedded, automotive, and production deployments."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T11:40:08.879Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"4.19.323"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.4.285"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.10.227"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"5.15.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"6.1.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"6.6.54"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"6.10.13"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"6.11.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.7","versionEndExcluding":"6.12"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2024-49860","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2024-10-21T12:55:46.676497Z"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-10-21T13:04:10.485Z"}},{"title":"CVE Program Container","references":[{"url":"https://lists.debian.org/debian-lts-announce/2025/03/msg00002.html"},{"url":"https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2025-11-03T22:22:30.053Z"}}]}}}