CVE-2025-38482 (GCVE-0-2025-38482)
Vulnerability from cvelistv5
Published
2025-07-28 11:21
Modified
2025-07-28 11:21
Severity ?
VLAI Severity ?
EPSS score ?
Summary
In the Linux kernel, the following vulnerability has been resolved:
comedi: das6402: Fix bit shift out of bounds
When checking for a supported IRQ number, the following test is used:
/* IRQs 2,3,5,6,7, 10,11,15 are valid for "enhanced" mode */
if ((1 << it->options[1]) & 0x8cec) {
However, `it->options[i]` is an unchecked `int` value from userspace, so
the shift amount could be negative or out of bounds. Fix the test by
requiring `it->options[1]` to be within bounds before proceeding with
the original test. Valid `it->options[1]` values that select the IRQ
will be in the range [1,15]. The value 0 explicitly disables the use of
interrupts.
References
Impacted products
{ "containers": { "cna": { "affected": [ { "defaultStatus": "unaffected", "product": "Linux", "programFiles": [ "drivers/comedi/drivers/das6402.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "lessThan": "a18a42e77545afcacd6a2b8d9fc16191b87454df", "status": "affected", "version": "79e5e6addbb18bf56075f0ff552094a28636dd03", "versionType": "git" }, { "lessThan": "8a3637027ceeba4ca5e500b23cb7d24c25592513", "status": "affected", "version": "79e5e6addbb18bf56075f0ff552094a28636dd03", "versionType": "git" }, { "lessThan": "3eab654f5d199ecd45403c6588cda63e491fcfca", "status": "affected", "version": "79e5e6addbb18bf56075f0ff552094a28636dd03", "versionType": "git" }, { "lessThan": "4a3c18cde02e35aba87e0ad5672b3e1c72dda5a4", "status": "affected", "version": "79e5e6addbb18bf56075f0ff552094a28636dd03", "versionType": "git" }, { "lessThan": "70f2b28b5243df557f51c054c20058ae207baaac", "status": "affected", "version": "79e5e6addbb18bf56075f0ff552094a28636dd03", "versionType": "git" } ] }, { "defaultStatus": "affected", "product": "Linux", "programFiles": [ "drivers/comedi/drivers/das6402.c" ], "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git", "vendor": "Linux", "versions": [ { "status": "affected", "version": "3.15" }, { "lessThan": "3.15", "status": "unaffected", "version": "0", "versionType": "semver" }, { "lessThanOrEqual": "6.1.*", "status": "unaffected", "version": "6.1.147", "versionType": "semver" }, { "lessThanOrEqual": "6.6.*", "status": "unaffected", "version": "6.6.100", "versionType": "semver" }, { "lessThanOrEqual": "6.12.*", "status": "unaffected", "version": "6.12.40", "versionType": "semver" }, { "lessThanOrEqual": "6.15.*", "status": "unaffected", "version": "6.15.8", "versionType": "semver" }, { "lessThanOrEqual": "*", "status": "unaffected", "version": "6.16", "versionType": "original_commit_for_fix" } ] } ], "cpeApplicability": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.1.147", "versionStartIncluding": "3.15", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.6.100", "versionStartIncluding": "3.15", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.12.40", "versionStartIncluding": "3.15", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.15.8", "versionStartIncluding": "3.15", "vulnerable": true }, { "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionEndExcluding": "6.16", "versionStartIncluding": "3.15", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "descriptions": [ { "lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncomedi: das6402: Fix bit shift out of bounds\n\nWhen checking for a supported IRQ number, the following test is used:\n\n\t/* IRQs 2,3,5,6,7, 10,11,15 are valid for \"enhanced\" mode */\n\tif ((1 \u003c\u003c it-\u003eoptions[1]) \u0026 0x8cec) {\n\nHowever, `it-\u003eoptions[i]` is an unchecked `int` value from userspace, so\nthe shift amount could be negative or out of bounds. Fix the test by\nrequiring `it-\u003eoptions[1]` to be within bounds before proceeding with\nthe original test. Valid `it-\u003eoptions[1]` values that select the IRQ\nwill be in the range [1,15]. The value 0 explicitly disables the use of\ninterrupts." } ], "providerMetadata": { "dateUpdated": "2025-07-28T11:21:47.026Z", "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "shortName": "Linux" }, "references": [ { "url": "https://git.kernel.org/stable/c/a18a42e77545afcacd6a2b8d9fc16191b87454df" }, { "url": "https://git.kernel.org/stable/c/8a3637027ceeba4ca5e500b23cb7d24c25592513" }, { "url": "https://git.kernel.org/stable/c/3eab654f5d199ecd45403c6588cda63e491fcfca" }, { "url": "https://git.kernel.org/stable/c/4a3c18cde02e35aba87e0ad5672b3e1c72dda5a4" }, { "url": "https://git.kernel.org/stable/c/70f2b28b5243df557f51c054c20058ae207baaac" } ], "title": "comedi: das6402: Fix bit shift out of bounds", "x_generator": { "engine": "bippy-1.2.0" } } }, "cveMetadata": { "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "assignerShortName": "Linux", "cveId": "CVE-2025-38482", "datePublished": "2025-07-28T11:21:47.026Z", "dateReserved": "2025-04-16T04:51:24.021Z", "dateUpdated": "2025-07-28T11:21:47.026Z", "state": "PUBLISHED" }, "dataType": "CVE_RECORD", "dataVersion": "5.1", "vulnerability-lookup:meta": { "nvd": "{\"cve\":{\"id\":\"CVE-2025-38482\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2025-07-28T12:15:30.117\",\"lastModified\":\"2025-07-29T14:14:29.590\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\ncomedi: das6402: Fix bit shift out of bounds\\n\\nWhen checking for a supported IRQ number, the following test is used:\\n\\n\\t/* IRQs 2,3,5,6,7, 10,11,15 are valid for \\\"enhanced\\\" mode */\\n\\tif ((1 \u003c\u003c it-\u003eoptions[1]) \u0026 0x8cec) {\\n\\nHowever, `it-\u003eoptions[i]` is an unchecked `int` value from userspace, so\\nthe shift amount could be negative or out of bounds. Fix the test by\\nrequiring `it-\u003eoptions[1]` to be within bounds before proceeding with\\nthe original test. Valid `it-\u003eoptions[1]` values that select the IRQ\\nwill be in the range [1,15]. The value 0 explicitly disables the use of\\ninterrupts.\"},{\"lang\":\"es\",\"value\":\"En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: comedi: das6402: Corregir desplazamiento de bits fuera de los l\u00edmites Al comprobar un n\u00famero de IRQ compatible, se utiliza la siguiente prueba: /* Las IRQ 2, 3, 5, 6, 7, 10, 11, 15 son v\u00e1lidas para el modo \\\"enhanced\\\" */ if ((1 \u0026lt;\u0026lt; it-\u0026gt;options[1]) \u0026amp; 0x8cec) { Sin embargo, `it-\u0026gt;options[i]` es un valor `int` sin comprobar del espacio de usuario, por lo que la cantidad de desplazamiento podr\u00eda ser negativa o estar fuera de los l\u00edmites. Corrija la prueba exigiendo que `it-\u0026gt;options[1]` est\u00e9 dentro de los l\u00edmites antes de continuar con la prueba original. Los valores v\u00e1lidos de `it-\u0026gt;options[1]` que seleccionan la IRQ estar\u00e1n en el rango [1, 15]. El valor 0 deshabilita expl\u00edcitamente el uso de interrupciones.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3eab654f5d199ecd45403c6588cda63e491fcfca\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/4a3c18cde02e35aba87e0ad5672b3e1c72dda5a4\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/70f2b28b5243df557f51c054c20058ae207baaac\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/8a3637027ceeba4ca5e500b23cb7d24c25592513\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/a18a42e77545afcacd6a2b8d9fc16191b87454df\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}" } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…