scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak Several bsg handlers stage their request/reply in an uninitialized 256-byte on-stack buffer (uint8_t bsg[DMA_POOL_SIZE]) and fill it via sg_copy_to_buffer(), which only copies as many bytes as the user-supplied request payload. When the request is shorter than the structure, the remainder of the buffer is left holding stale stack data. qla2x00_read_fru_status() and qla2x00_read_i2c() then copy the full structure back to the reply payload with sg_copy_from_buffer(), leaking the uninitialized stack bytes to user space. The write/update paths do not copy the buffer back, but can feed uninitialized fields to the device. Zero the stack buffer at declaration in all five handlers, mirroring the heap kzalloc() approach, so short requests can no longer expose stale memory.
- Products
- Kernel
- Affected versions
- Not specified
- Fixed versions
- 5.10.270, 5.15.221, 6.1.188, 6.12.110, 6.18.51, 6.6.157, 7.2.5
- CVEs
- CVE-2026-89843
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 4 Nov 2026, 18:51 UTC · Revision 1
Source evidence
scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak
core-osv · Original sourcePublished 16 Sept 2026, 10:31 UTC
In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak Several bsg handlers stage their request/reply in an uninitialized 256-byte on-stack buffer (uint8_t bsg[DMA_POOL_SIZE]) and fill it via sg_copy_to_buffer(), which only copies as many bytes as the user-supplied request payload. When the request is shorter than the structure, the remainder of the buffer is left holding stale stack data. qla2x00_read_fru_status() and qla2x00_read_i2c() then copy the full structure back to the reply payload with sg_copy_from_buffer(), leaking the uninitialized stack bytes to user space. The write/update paths do not copy the buffer back, but can feed uninitialized fields to the device. Zero the stack buffer at declaration in all five handlers, mirroring the heap kzalloc() approach, so short requests can no longer expose stale memory.
osv:CVE-2026-89843
Kernel
Fixed versions: 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, 6.18.51, 7.2.5
Complete source record
{
"id": "5d19bfc2e5d6a12b4132d5bf7ca1273cb3ed338a6e690403be7529ebf0f22f0c",
"url": "https://osv.dev/vulnerability/CVE-2026-89843",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak",
"summary": "In the Linux kernel, the following vulnerability has been resolved: scsi: qla2xxx: Zero-init bsg stack buffers to avoid info leak Several bsg handlers stage their request/reply in an uninitialized 256-byte on-stack buffer (uint8_t bsg[DMA_POOL_SIZE]) and fill it via sg_copy_to_buffer(), which only copies as many bytes as the user-supplied request payload. When the request is shorter than the structure, the remainder of the buffer is left holding stale stack data. qla2x00_read_fru_status() and qla2x00_read_i2c() then copy the full structure back to the reply payload with sg_copy_from_buffer(), leaking the uninitialized stack bytes to user space. The write/update paths do not copy the buffer back, but can feed uninitialized fields to the device. Zero the stack buffer at declaration in all five handlers, mirroring the heap kzalloc() approach, so short requests can no longer expose stale memory.",
"evidence": "osv:CVE-2026-89843",
"products": [
{
"name": {
"value": "Kernel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "5.10.270",
"evidence": "/affected/1/ranges"
},
{
"value": "5.15.221",
"evidence": "/affected/1/ranges"
},
{
"value": "6.1.188",
"evidence": "/affected/1/ranges"
},
{
"value": "6.6.157",
"evidence": "/affected/1/ranges"
},
{
"value": "6.12.110",
"evidence": "/affected/1/ranges"
},
{
"value": "6.18.51",
"evidence": "/affected/1/ranges"
},
{
"value": "7.2.5",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-89843",
"aliases": [
"CVE-2026-89843"
],
"affected": [
{
"ranges": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"type": "GIT",
"events": [
{
"introduced": "697a4bc69159c3396035b0506ffa55c4b2d0b1f4"
},
{
"fixed": "1c820d0900e4aacd5020b989159f6b4b2f7d0d6a"
},
{
"fixed": "26bc6a2c235a70bfc9b6de412600208aca820e20"
},
{
"fixed": "5ab32dff910291b5e6bf6223f8a4003536c1800a"
},
{
"fixed": "947c6bfcf7f5ec924995bec43e3108b98c75b44e"
},
{
"fixed": "708c0ec1e09c52fee24b74ce9398bf3f8d1c83fd"
},
{
"fixed": "4fe5790674097897a1af1367d1e384f7e5a62fb7"
},
{
"fixed": "7881faf862ee301ecfe3adc0725bd2fa0021cd95"
},
{
"fixed": "b93d3bb3afe1b44489927de1eb4e66e8536a5935"
}
]
}
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89843.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "3.2.0"
},
{
"fixed": "5.10.270"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.11.0"
},
{
"fixed": "5.15.221"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "5.16.0"
},
{
"fixed": "6.1.188"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.2.0"
},
{
"fixed": "6.6.157"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.7.0"
},
{
"fixed": "6.12.110"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.13.0"
},
{
"fixed": "6.18.51"
}
]
},
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "6.19.0"
},
{
"fixed": "7.2.5"
}
]
}
],
"package": {
"name": "Kernel",
"ecosystem": "Linux"
},
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89843.json"
}
}
],
"modified": "2026-10-28T02:30:38.425535630Z",
"provider": "osv",
"references": [
"https://git.kernel.org/stable/c/1c820d0900e4aacd5020b989159f6b4b2f7d0d6a",
"https://git.kernel.org/stable/c/26bc6a2c235a70bfc9b6de412600208aca820e20",
"https://git.kernel.org/stable/c/4fe5790674097897a1af1367d1e384f7e5a62fb7",
"https://git.kernel.org/stable/c/5ab32dff910291b5e6bf6223f8a4003536c1800a",
"https://git.kernel.org/stable/c/708c0ec1e09c52fee24b74ce9398bf3f8d1c83fd",
"https://git.kernel.org/stable/c/7881faf862ee301ecfe3adc0725bd2fa0021cd95",
"https://git.kernel.org/stable/c/947c6bfcf7f5ec924995bec43e3108b98c75b44e",
"https://git.kernel.org/stable/c/b93d3bb3afe1b44489927de1eb4e66e8536a5935",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89843.json",
"https://nvd.nist.gov/vuln/detail/CVE-2026-89843",
"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
],
"provider_metadata": {
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89843.json"
}
},
"related_cves": [
{
"value": "CVE-2026-89843",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 505877,
"published_at": "2026-09-16T10:31:17.474+00:00"
}