s390/zcrypt: fix reference counting on zcrypt card objects
In the Linux kernel, the following vulnerability has been resolved: s390/zcrypt: fix reference counting on zcrypt card objects Tests with hot-plugging crytpo cards on KVM guests with debug kernel build revealed an use after free for the load field of the struct zcrypt_card. The reason was an incorrect reference handling of the zcrypt card object which could lead to a free of the zcrypt card object while it was still in use. This is an example of the slab message: kernel: 0x00000000885a7512-0x00000000885a7513 @offset=1298. First byte 0x68 instead of 0x6b kernel: Allocated in zcrypt_card_alloc+0x36/0x70 [zcrypt] age=18046 cpu=3 pid=43 kernel: kmalloc_trace+0x3f2/0x470 kernel: zcrypt_card_alloc+0x36/0x70 [zcrypt] kernel: zcrypt_cex4_card_probe+0x26/0x380 [zcrypt_cex4] kernel: ap_device_probe+0x15c/0x290 kernel: really_probe+0xd2/0x468 kernel: driver_probe_device+0x40/0xf0 kernel: __device_attach_driver+0xc0/0x140 kernel: bus_for_each_drv+0x8c/0xd0 kernel: __device_attach+0x114/0x198 kernel: bus_probe_device+0xb4/0xc8 kernel: device_add+0x4d2/0x6e0 kernel: ap_scan_adapter+0x3d0/0x7c0 kernel: ap_scan_bus+0x5a/0x3b0 kernel: ap_scan_bus_wq_callback+0x40/0x60 kernel: process_one_work+0x26e/0x620 kernel: worker_thread+0x21c/0x440 kernel: Freed in zcrypt_card_put+0x54/0x80 [zcrypt] age=9024 cpu=3 pid=43 kernel: kfree+0x37e/0x418 kernel: zcrypt_card_put+0x54/0x80 [zcrypt] kernel: ap_device_remove+0x4c/0xe0 kernel: device_release_driver_internal+0x1c4/0x270 kernel: bus_remove_device+0x10
CVE-2024-26957
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2024-26957
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "7e500849fa558879a1cde43f80c7c048c2437058",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "9daddee03de3f231012014dab8ab2b277a116a55",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "6470078ab3d8f222115e11c4ec67351f3031b3dd",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "a55677878b93e9ebc31f66d0e2fb93be5e7836a6",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "b7f6c3630eb3f103115ab0d7613588064f665d0d",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "a64ab862e84e3e698cd351a87cdb504c7fc575ca",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "befb7f889594d23e1b475720cf93efd2f77df000",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "394b6d8bbdf9ddee6d5bcf3e1f3e9f23eecd6484",
"versionType": "git"
},
{
"status": "affected",
"version": "e28d2af43614eb86f59812e7221735fc221bbc10",
"lessThan": "50ed48c80fecbe17218afed4f8bed005c802976c",
"versionType": "git"
}
],
"programFiles": [
"drivers/s390/crypto/zcrypt_api.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "4.10"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "4.10",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "4.19.312",
"versionType": "semver",
"lessThanOrEqual": "4.19.*"
},
{
"status": "unaffected",
"version": "5.4.274",
"versionType": "semver",
"lessThanOrEqual": "5.4.*"
},
{
"status": "unaffected",
"version": "5.10.215",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.154",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.84",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.24",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.7.12",
"versionType": "semver",
"lessThanOrEqual": "6.7.*"
},
{
"status": "unaffected",
"version": "6.8.3",
"versionType": "semver",
"lessThanOrEqual": "6.8.*"
},
{
"status": "unaffected",
"version": "6.9",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/s390/crypto/zcrypt_api.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2024-26957
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #26465 · Revision 1
- Added to Heist Feed
- Publisher date