In the Linux kernel, the following vulnerability has been resolved:
ksmbd: fix slab-out-of-bounds in smb2allocatersp_buf
If ->ProtocolId is SMB2TRANSFORMPROTONUM, smb2 request size validation could be skipped. if request size is smaller than sizeof(struct smb2queryinforeq), slab-out-of-bounds read can happen in smb2allocaterspbuf(). This patch allocate response buffer after decrypting transform request. smb3decryptreq() will validate transform request size and avoid slab-out-of-bound in smb2allocaterspbuf().
[
{
"id": "CVE-2024-26980-079dcceb",
"signature_version": "v1",
"digest": {
"length": 2059.0,
"function_hash": "43007440693087994963193168157181614114"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3160d9734453a40db248487f8204830879c207f1",
"target": {
"file": "fs/smb/server/server.c",
"function": "__handle_ksmbd_work"
}
},
{
"id": "CVE-2024-26980-0e32fc89",
"signature_version": "v1",
"digest": {
"length": 2059.0,
"function_hash": "43007440693087994963193168157181614114"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da21401372607c49972ea87a6edaafb36a17c325",
"target": {
"file": "fs/ksmbd/server.c",
"function": "__handle_ksmbd_work"
}
},
{
"id": "CVE-2024-26980-25afd536",
"signature_version": "v1",
"digest": {
"length": 2059.0,
"function_hash": "43007440693087994963193168157181614114"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80ba648714e6d790d69610cf14656be222d0248",
"target": {
"file": "fs/smb/server/server.c",
"function": "__handle_ksmbd_work"
}
},
{
"id": "CVE-2024-26980-51e0e38f",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177829265080299234540373314658206613060",
"114493516743533782767543889811396063996",
"235293780440773673479750284120316020225",
"2231836562113411582161269745956189319",
"20062575383330330529332433722342157301",
"120964358683730949884958947570966278319",
"292138619331922455791857531508176464279",
"1377274290504004853439605261660955462",
"111483042776130261496723605839484732941",
"17823085340293350098968851601028804764",
"297726928574622903323858518766746028480",
"255349113433950206405590268254520913704",
"249945453252532238795334389741227840830",
"241368232816400764153173172283291863036"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c119f4ede3fa90a9463f50831761c28f989bfb20",
"target": {
"file": "fs/smb/server/server.c"
}
},
{
"id": "CVE-2024-26980-61fe60df",
"signature_version": "v1",
"digest": {
"length": 2059.0,
"function_hash": "43007440693087994963193168157181614114"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c119f4ede3fa90a9463f50831761c28f989bfb20",
"target": {
"file": "fs/smb/server/server.c",
"function": "__handle_ksmbd_work"
}
},
{
"id": "CVE-2024-26980-84a9b3e9",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177829265080299234540373314658206613060",
"114493516743533782767543889811396063996",
"235293780440773673479750284120316020225",
"2231836562113411582161269745956189319",
"20062575383330330529332433722342157301",
"120964358683730949884958947570966278319",
"292138619331922455791857531508176464279",
"1377274290504004853439605261660955462",
"111483042776130261496723605839484732941",
"17823085340293350098968851601028804764",
"297726928574622903323858518766746028480",
"255349113433950206405590268254520913704",
"249945453252532238795334389741227840830",
"241368232816400764153173172283291863036"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@da21401372607c49972ea87a6edaafb36a17c325",
"target": {
"file": "fs/ksmbd/server.c"
}
},
{
"id": "CVE-2024-26980-8ef7252d",
"signature_version": "v1",
"digest": {
"length": 2059.0,
"function_hash": "43007440693087994963193168157181614114"
},
"deprecated": false,
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0977f89722eceba165700ea384f075143f012085",
"target": {
"file": "fs/smb/server/server.c",
"function": "__handle_ksmbd_work"
}
},
{
"id": "CVE-2024-26980-94026dc8",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177829265080299234540373314658206613060",
"114493516743533782767543889811396063996",
"235293780440773673479750284120316020225",
"2231836562113411582161269745956189319",
"20062575383330330529332433722342157301",
"120964358683730949884958947570966278319",
"292138619331922455791857531508176464279",
"1377274290504004853439605261660955462",
"111483042776130261496723605839484732941",
"17823085340293350098968851601028804764",
"297726928574622903323858518766746028480",
"255349113433950206405590268254520913704",
"249945453252532238795334389741227840830",
"241368232816400764153173172283291863036"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b80ba648714e6d790d69610cf14656be222d0248",
"target": {
"file": "fs/smb/server/server.c"
}
},
{
"id": "CVE-2024-26980-99ebfe52",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177829265080299234540373314658206613060",
"114493516743533782767543889811396063996",
"235293780440773673479750284120316020225",
"2231836562113411582161269745956189319",
"20062575383330330529332433722342157301",
"120964358683730949884958947570966278319",
"292138619331922455791857531508176464279",
"1377274290504004853439605261660955462",
"111483042776130261496723605839484732941",
"17823085340293350098968851601028804764",
"297726928574622903323858518766746028480",
"255349113433950206405590268254520913704",
"249945453252532238795334389741227840830",
"241368232816400764153173172283291863036"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@0977f89722eceba165700ea384f075143f012085",
"target": {
"file": "fs/smb/server/server.c"
}
},
{
"id": "CVE-2024-26980-cdf6a636",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"177829265080299234540373314658206613060",
"114493516743533782767543889811396063996",
"235293780440773673479750284120316020225",
"2231836562113411582161269745956189319",
"20062575383330330529332433722342157301",
"120964358683730949884958947570966278319",
"292138619331922455791857531508176464279",
"1377274290504004853439605261660955462",
"111483042776130261496723605839484732941",
"17823085340293350098968851601028804764",
"297726928574622903323858518766746028480",
"255349113433950206405590268254520913704",
"249945453252532238795334389741227840830",
"241368232816400764153173172283291863036"
]
},
"deprecated": false,
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3160d9734453a40db248487f8204830879c207f1",
"target": {
"file": "fs/smb/server/server.c"
}
}
]