{ "dataType": "CVE_RECORD", "dataVersion": "5.2", "cveMetadata": { "cveId": "CVE-2024-42099", "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "state": "PUBLISHED", "assignerShortName": "Linux", "dateReserved": "2024-07-29T15:50:41.173Z", "datePublished": "2024-07-30T07:45:55.643Z", "dateUpdated": "2026-08-05T11:35:35.753Z" }, "containers": { "cna": { "providerMetadata": { "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux", "dateUpdated": "2026-08-05T11:35:35.753Z" }, "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ns390/dasd: Fix invalid dereferencing of indirect CCW data pointer\n\nFix invalid dereferencing of indirect CCW data pointer in\ndasd_eckd_dump_sense() that leads to a kernel panic in error cases.\n\nWhen using indirect addressing for DASD CCWs (IDAW) the CCW CDA pointer\ndoes not contain the data address itself but a pointer to the IDAL.\nThis needs to be translated from physical to virtual as well before\nusing it.\n\nThis dereferencing is also used for dasd_page_cache and also fixed\nalthough it is very unlikely that this code path ever gets used." } ], "metrics": [ { "cvssV3_1": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "baseScore": 7.8, "baseSeverity": "HIGH" }, "scenarios": [ { "lang": "en", "value": "AV:L - The vulnerable code is in the s390 DASD ECKD/FBA block device driver, reached through local block I/O submission and its completion/error-recovery path. There is no network-facing component.\nAC:L - IDAWs are used for practically every DASD request on any LPAR with more than 2 GB of memory, so the CCW_FLAG_IDA precondition is met by default, and an attacker with access to the DASD device can provoke permanently failing requests (e.g. reads against tracks whose format does not match the configured block size, or ESE/space-exhaust conditions) to drive the request into DASD_CQR_FAILED and the sense-dump path.\nPR:L - The path is entered from ordinary block I/O completion — dasd_log_sense() is invoked for any failed cqr with no capability check — so an unprivileged local user performing normal file I/O on a DASD-backed filesystem can reach it. No CAP_SYS_ADMIN gate applies (unlike the DASD ioctls in dasd_ioctl.c).\nUI:N - The faulty dereference happens automatically inside the driver's error-recovery/sense-dump path; no action by any other user is needed.\nS:U - The wild dereference, the log disclosure and the slab free all occur within the kernel's own security authority; no VM, IOMMU or sandbox boundary is crossed.\nC:H - Up to 128 bytes are read through the mistranslated pointer and formatted into a dev_err() kernel log message, and in dasd_{eckd,fba}_free_cp the same pointer is the source of memcpy() into a page returned to userspace; where the untranslated absolute address resolves to mapped memory this is a kernel-memory disclosure primitive rather than a mere fault.\nI:H - dasd_eckd_free_cp()/dasd_fba_free_cp() pass the mistranslated pointer to kmem_cache_free(dasd_page_cache, cda & PAGE_MASK), injecting an arbitrary address into the slab allocator's freelist — allocator metadata/live-object corruption that is the classic basis for a write primitive.\nA:H - The commit states the bug \"leads to a kernel panic in error cases\"; the dereference occurs in interrupt/tasklet context on an unmapped address, producing an unrecoverable addressing exception and taking the whole system down." } ] } ], "affected": [ { "product": "Linux", "vendor": "Linux", "defaultStatus": "unaffected", "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "programFiles": [ "drivers/s390/block/dasd_eckd.c", "drivers/s390/block/dasd_fba.c" ], "versions": [ { "version": "c0bd39601c13ab08e961d77a90dfeeff56056353", "lessThan": "c116475f7d6410b1e6d399207ac75de6cf9c3652", "status": "affected", "versionType": "git" }, { "version": "c0bd39601c13ab08e961d77a90dfeeff56056353", "lessThan": "b3a58f3b90f564f42a5c35778d8c5107b2c2150b", "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/s390/block/dasd_eckd.c", "drivers/s390/block/dasd_fba.c" ], "versions": [ { "version": "6.9", "status": "affected" }, { "version": "0", "lessThan": "6.9", "status": "unaffected", "versionType": "semver" }, { "version": "6.9.9", "lessThanOrEqual": "6.9.*", "status": "unaffected", "versionType": "semver" }, { "version": "6.10", "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": "6.9", "versionEndExcluding": "6.9.9" }, { "vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "6.9", "versionEndExcluding": "6.10" } ] } ] } ], "references": [ { "url": "https://git.kernel.org/stable/c/c116475f7d6410b1e6d399207ac75de6cf9c3652" }, { "url": "https://git.kernel.org/stable/c/b3a58f3b90f564f42a5c35778d8c5107b2c2150b" } ], "title": "s390/dasd: Fix invalid dereferencing of indirect CCW data pointer", "x_generator": { "engine": "bippy-1.2.0" } }, "adp": [ { "providerMetadata": { "orgId": "af854a3a-2127-422b-91ae-364da2661108", "shortName": "CVE", "dateUpdated": "2024-08-02T04:54:31.742Z" }, "title": "CVE Program Container", "references": [ { "url": "https://git.kernel.org/stable/c/c116475f7d6410b1e6d399207ac75de6cf9c3652", "tags": [ "x_transferred" ] }, { "url": "https://git.kernel.org/stable/c/b3a58f3b90f564f42a5c35778d8c5107b2c2150b", "tags": [ "x_transferred" ] } ] }, { "metrics": [ { "other": { "type": "ssvc", "content": { "id": "CVE-2024-42099", "role": "CISA Coordinator", "options": [ { "Exploitation": "none" }, { "Automatable": "no" }, { "Technical Impact": "partial" } ], "version": "2.0.3", "timestamp": "2024-09-10T16:18:08.885976Z" } } } ], "title": "CISA ADP Vulnrichment", "providerMetadata": { "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "shortName": "CISA-ADP", "dateUpdated": "2024-09-11T17:32:49.224Z" } } ] } }