CVE-2026-89864
In the Linux kernel, the following vulnerability has been resolved:
scsi: qla2xxx: Bound i2c->length in I2C bsg handlers
struct qla_i2c_access carries a 16-bit length field alongside a fixed 64-byte buffer:
qla2x00_write_i2c() and qla2x00_read_i2c() use the user-supplied i2c->length without any bounds check. i2c is overlaid on a 256-byte on-stack buffer and sfp is a 256-byte DMA-pool buffer, so a length up to 65535 overruns both:
A caller holding CAP_SYS_RAWIO can use this to corrupt the heap and the kernel stack. Reject requests whose length exceeds the buffer before any copy or DMA transfer in both handlers.
Detalles técnicos trazas, registros y código del informe original
struct qla_i2c_access {
uint16_t device, offset, option, length;
uint8_t buffer[0x40];
} __packed;
- write: memcpy(sfp, i2c->buffer, i2c->length) over-reads the stack and
over-writes the sfp heap buffer, and qla2x00_write_sfp() then DMAs
i2c->length bytes out of the 256-byte buffer.
- read: qla2x00_read_sfp() DMAs i2c->length bytes into the 256-byte sfp,
then memcpy(i2c->buffer, sfp, i2c->length) overflows the 64-byte
buffer inside the on-stack array.CVSS
NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).
Probabilidad de explotación (EPSS)
- Probabilidad de explotación en los próximos 30 días: 0.21%
- Percentil entre todas las CVEs puntuadas: 10
- Fecha de la puntuación: 5/10/2026
EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).
Tecnologías afectadas (1)
⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.
Referencias
- https://git.kernel.org/stable/c/0918ee2c0eeb4d7f45b82b3dc11e65c2d9b7ad59
- https://git.kernel.org/stable/c/2be39946abcde5a6416fb074ef728429e246a996
- https://git.kernel.org/stable/c/32d6df14fdab71fe1ba304fd9a0db0411ea2e043
- https://git.kernel.org/stable/c/47049fdadc0eaa115e813735b827e1379c0d2cf8
- https://git.kernel.org/stable/c/522d6dcdc645d8f97d6b4cdfd6d8eea307f3ff0e
- https://git.kernel.org/stable/c/8f01f886cc5e7bbc16cbf1a9928fdebbc911e973
- https://git.kernel.org/stable/c/97ca58b0fb026799b99e3d552d5f69cf9a3113ad
- https://git.kernel.org/stable/c/9a756f277eb89f769dbf380f38245c270d31fdb5
JSON original (NVD)
Mostrar
{
"id": "CVE-2026-89864",
"cveTags": [],
"metrics": {},
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "8f01f886cc5e7bbc16cbf1a9928fdebbc911e973",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "2be39946abcde5a6416fb074ef728429e246a996",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "522d6dcdc645d8f97d6b4cdfd6d8eea307f3ff0e",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "9a756f277eb89f769dbf380f38245c270d31fdb5",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "32d6df14fdab71fe1ba304fd9a0db0411ea2e043",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "97ca58b0fb026799b99e3d552d5f69cf9a3113ad",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "47049fdadc0eaa115e813735b827e1379c0d2cf8",
"versionType": "git"
},
{
"status": "affected",
"version": "9ebb5d9c69f1f5721f9f6f49e501c674c1e184ae",
"lessThan": "0918ee2c0eeb4d7f45b82b3dc11e65c2d9b7ad59",
"versionType": "git"
}
],
"programFiles": [
"drivers/scsi/qla2xxx/qla_bsg.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "3.7"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "3.7",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.270",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.221",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.188",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.157",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.110",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.51",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2.5",
"versionType": "semver",
"lessThanOrEqual": "7.2.*"
},
{
"status": "unaffected",
"version": "7.3-rc1",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/scsi/qla2xxx/qla_bsg.c"
],
"defaultStatus": "affected"
}
]
}
],
"published": "2026-09-16T11:16:54.480",
"references": [
{
"url": "https://git.kernel.org/stable/c/0918ee2c0eeb4d7f45b82b3dc11e65c2d9b7ad59",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/2be39946abcde5a6416fb074ef728429e246a996",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/32d6df14fdab71fe1ba304fd9a0db0411ea2e043",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/47049fdadc0eaa115e813735b827e1379c0d2cf8",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/522d6dcdc645d8f97d6b4cdfd6d8eea307f3ff0e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/8f01f886cc5e7bbc16cbf1a9928fdebbc911e973",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/97ca58b0fb026799b99e3d552d5f69cf9a3113ad",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/9a756f277eb89f769dbf380f38245c270d31fdb5",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"vulnStatus": "Received",
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nscsi: qla2xxx: Bound i2c->length in I2C bsg handlers\n\nstruct qla_i2c_access carries a 16-bit length field alongside a fixed\n64-byte buffer:\n\n\tstruct qla_i2c_access {\n\t\tuint16_t device, offset, option, length;\n\t\tuint8_t buffer[0x40];\n\t} __packed;\n\nqla2x00_write_i2c() and qla2x00_read_i2c() use the user-supplied\ni2c->length without any bounds check. i2c is overlaid on a 256-byte\non-stack buffer and sfp is a 256-byte DMA-pool buffer, so a length up to\n65535 overruns both:\n\n - write: memcpy(sfp, i2c->buffer, i2c->length) over-reads the stack and\n over-writes the sfp heap buffer, and qla2x00_write_sfp() then DMAs\n i2c->length bytes out of the 256-byte buffer.\n - read: qla2x00_read_sfp() DMAs i2c->length bytes into the 256-byte sfp,\n then memcpy(i2c->buffer, sfp, i2c->length) overflows the 64-byte\n buffer inside the on-stack array.\n\nA caller holding CAP_SYS_RAWIO can use this to corrupt the heap and the\nkernel stack. Reject requests whose length exceeds the buffer before any\ncopy or DMA transfer in both handlers."
}
],
"lastModified": "2026-09-16T11:16:54.480",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}