In the Linux kernel, the following vulnerability has been resolved:
ksmbd: check outstanding simultaneous SMB operations
If Client send simultaneous SMB operations to ksmbd, It exhausts too much memory through the "ksmbdworkcache”. It will cause OOM issue. ksmbd has a credit mechanism but it can't handle this problem. This patch add the check if it exceeds max credits to prevent this problem by assuming that one smb request consumes at least one credit.
[
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 329.0,
"function_hash": "88400088782086446145351819932677714279"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/smb_common.c",
"function": "ksmbd_init_smb_server"
},
"id": "CVE-2024-50285-02ce422c"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"25773090563488900218866262059447288609",
"292060443643381801654162721746839684035",
"141691813307466535948283202390907867573",
"220585488580018882764359841567704062361"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/connection.h"
},
"id": "CVE-2024-50285-0a0f025c"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 329.0,
"function_hash": "88400088782086446145351819932677714279"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/smb_common.c",
"function": "ksmbd_init_smb_server"
},
"id": "CVE-2024-50285-27a0c6ab"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 176.0,
"function_hash": "152543058363806548169785781207604655068"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/smb_common.c",
"function": "init_smb1_server"
},
"id": "CVE-2024-50285-2be1e68b"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"90453074934228661621210559060143759040",
"276709588285283381830324163436128084412",
"68842674308771490297841174557136537783",
"37279678201679739587982757579354390270"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/connection.c"
},
"id": "CVE-2024-50285-3ac36c7d"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 502.0,
"function_hash": "334597351578418478760528282354200146082"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/server.c",
"function": "queue_ksmbd_work"
},
"id": "CVE-2024-50285-5e0e56cb"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"189208622090173730478233297712578050669",
"6157354844030639288483565477856467001",
"201181648683503972683947539714658201356",
"323450670771154603035976034619666132085",
"87594818399805803678421244460577396889",
"232284704261543693116795040918135925067",
"245409681764130487094643330209647912679",
"248947359193832513337578088332414761962",
"178174062618490555305813223959581754559",
"37611493307818508102374416648105476374",
"285631292075521804036471085542350101305",
"267119158376675444576178699966068453797",
"158614333091372100928510569966949894687",
"121913520348912527633675680313787029544",
"337866098840056303502349235013898278380"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/server.c"
},
"id": "CVE-2024-50285-65557306"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"129113544682436251924146801596353576063",
"223837035090779925708409737431254026364",
"130529873673768145993524802105436762171",
"125706979071767450400927298718150058739",
"153656050438162965733211495598814367714",
"137632844812558436839923911806026386649",
"269332618840291076650532730920899349340",
"206431552134766814038962333019129305367",
"269980801047238982232608964379758877996",
"120387269514419799262635760602363814144",
"118962602484262849230093387027053834138",
"54810245976641698556026631838317963254",
"226386740621898088733475882418244513970",
"27422661215681648569402924350287172281",
"252585775893782365070460456549365845833",
"116143109175265501828480317768400997518",
"243458984056338748148011665548201026316"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/smb_common.c"
},
"id": "CVE-2024-50285-68f97863"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 502.0,
"function_hash": "334597351578418478760528282354200146082"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/server.c",
"function": "queue_ksmbd_work"
},
"id": "CVE-2024-50285-75fe20e4"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 371.0,
"function_hash": "195169608301561510578496127221531297934"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/server.c",
"function": "handle_ksmbd_work"
},
"id": "CVE-2024-50285-84da9c4b"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"279554909573091740004783794125032718501",
"135044538803047818442329410382734821115",
"120369104502736962044055125889972653428",
"324005440262584563492031352110340832657"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/smb_common.h"
},
"id": "CVE-2024-50285-8abb0ed0"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"25773090563488900218866262059447288609",
"292060443643381801654162721746839684035",
"141691813307466535948283202390907867573",
"220585488580018882764359841567704062361"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/connection.h"
},
"id": "CVE-2024-50285-914d2067"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"279554909573091740004783794125032718501",
"135044538803047818442329410382734821115",
"120369104502736962044055125889972653428",
"324005440262584563492031352110340832657"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/smb_common.h"
},
"id": "CVE-2024-50285-98fa27b6"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"189208622090173730478233297712578050669",
"6157354844030639288483565477856467001",
"201181648683503972683947539714658201356",
"323450670771154603035976034619666132085",
"87594818399805803678421244460577396889",
"232284704261543693116795040918135925067",
"245409681764130487094643330209647912679",
"248947359193832513337578088332414761962",
"178174062618490555305813223959581754559",
"37611493307818508102374416648105476374",
"285631292075521804036471085542350101305",
"267119158376675444576178699966068453797",
"158614333091372100928510569966949894687",
"121913520348912527633675680313787029544",
"337866098840056303502349235013898278380"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/server.c"
},
"id": "CVE-2024-50285-9e54458a"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 371.0,
"function_hash": "195169608301561510578496127221531297934"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/server.c",
"function": "handle_ksmbd_work"
},
"id": "CVE-2024-50285-a012c88e"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"90453074934228661621210559060143759040",
"276709588285283381830324163436128084412",
"68842674308771490297841174557136537783",
"37279678201679739587982757579354390270"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/connection.c"
},
"id": "CVE-2024-50285-d7aaa92b"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1170.0,
"function_hash": "115643473208223679041666076912981044253"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/connection.c",
"function": "ksmbd_conn_alloc"
},
"id": "CVE-2024-50285-edc28416"
},
{
"signature_type": "Line",
"deprecated": false,
"signature_version": "v1",
"digest": {
"line_hashes": [
"129113544682436251924146801596353576063",
"223837035090779925708409737431254026364",
"130529873673768145993524802105436762171",
"125706979071767450400927298718150058739",
"153656050438162965733211495598814367714",
"137632844812558436839923911806026386649",
"269332618840291076650532730920899349340",
"206431552134766814038962333019129305367",
"269980801047238982232608964379758877996",
"120387269514419799262635760602363814144",
"118962602484262849230093387027053834138",
"54810245976641698556026631838317963254",
"226386740621898088733475882418244513970",
"27422661215681648569402924350287172281",
"252585775893782365070460456549365845833",
"116143109175265501828480317768400997518",
"243458984056338748148011665548201026316"
],
"threshold": 0.9
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/smb_common.c"
},
"id": "CVE-2024-50285-ee96244d"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 176.0,
"function_hash": "152543058363806548169785781207604655068"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1f993777275cbd8f74765c4f9d9285cb907c9be5",
"target": {
"file": "fs/smb/server/smb_common.c",
"function": "init_smb1_server"
},
"id": "CVE-2024-50285-eeb30ecd"
},
{
"signature_type": "Function",
"deprecated": false,
"signature_version": "v1",
"digest": {
"length": 1170.0,
"function_hash": "115643473208223679041666076912981044253"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@e257ac6fe138623cf59fca8898abdf659dbc8356",
"target": {
"file": "fs/smb/server/connection.c",
"function": "ksmbd_conn_alloc"
},
"id": "CVE-2024-50285-f2ad6a53"
}
]