In the Linux kernel, the following vulnerability has been resolved:
smb: client: Avoid race in opencacheddir with lease breaks
A pre-existing valid cfid returned from findorcreatecacheddir might race with a lease break, meaning opencacheddir doesn't consider it valid, and thinks it's newly-constructed. This leaks a dentry reference if the allocation occurs before the queued lease break work runs.
Avoid the race by extending holding the cfidlistlock across findorcreatecacheddir and when the result is checked.
[
{
"id": "CVE-2025-37954-0f2e546f",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "open_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2407265dc32bc8cc45b62a612c2a214ba9038e8b",
"signature_version": "v1",
"digest": {
"length": 4771.0,
"function_hash": "129986548462791214271061052036177918205"
}
},
{
"id": "CVE-2025-37954-27200d5d",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "find_or_create_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@571dcf3d27b24800c171aea7b5e04ff06d10e2e9",
"signature_version": "v1",
"digest": {
"length": 957.0,
"function_hash": "191590639647882352229592330351111274097"
}
},
{
"id": "CVE-2025-37954-5e767120",
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2407265dc32bc8cc45b62a612c2a214ba9038e8b",
"signature_version": "v1",
"digest": {
"line_hashes": [
"61672699346776680354196034684175902382",
"113921772347797245680913168871802052557",
"111326888729412489612880844843245592871",
"56973442026537166172360478197871678917",
"51294986727592700200931848265803496413",
"73225137600604399609011112550433281155",
"303218149914911661220130446478420083536",
"2718507321348415692998646328409110192",
"187472983988378395283637390712696180500",
"205271735315568707952318158011119355176",
"81133716801839105563341510572358129350",
"310173530522175013971019573360550763665",
"189070335233368051535142899463267708993",
"193224332154107802474779752919870343506",
"249625583080154234803870346956983197391",
"89806277718914495087656786542800401141",
"17322400894435042249366325279308905644",
"80175177181161965794740950492864069773",
"329016752727185489257273027468539791531",
"257005188987673537335337257782156055871",
"122996339032019611660705485088372875155",
"129591656241798576916837063864070362668",
"233984553964649756664510386228647069282",
"126806365223462904701368824828307459254",
"296406980439196063465115680457261652286",
"260219467328190806586170431891223971921",
"197495617889212265519040755217307227729",
"31628705890995536727521663047389231738",
"242982519277356030624272755137386977417",
"268925681653793707802615032144976684973",
"247110321348765208009829375847705063032",
"223758312637855971317032216851553843522",
"237444165055442528715911852474230528649",
"313909189468617065737270247399908777086",
"22130768025371952771026423902971284416",
"300680398817971673786925793307096856613",
"231104229971603774934380471446483995759",
"106310983650179651636076582173992248789",
"97259797993974491192386017414851062598"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-37954-600dff69",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "open_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ed98e89ebc2e1bc73534dc3c18cb7843a889ff9",
"signature_version": "v1",
"digest": {
"length": 4846.0,
"function_hash": "54558011727713310071379488918446283179"
}
},
{
"id": "CVE-2025-37954-6a906c73",
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ca02e63edccb78ef3659bebc68579c7224a6ca2",
"signature_version": "v1",
"digest": {
"line_hashes": [
"61672699346776680354196034684175902382",
"113921772347797245680913168871802052557",
"111326888729412489612880844843245592871",
"56973442026537166172360478197871678917",
"51294986727592700200931848265803496413",
"73225137600604399609011112550433281155",
"303218149914911661220130446478420083536",
"2718507321348415692998646328409110192",
"187472983988378395283637390712696180500",
"205271735315568707952318158011119355176",
"81133716801839105563341510572358129350",
"310173530522175013971019573360550763665",
"189070335233368051535142899463267708993",
"193224332154107802474779752919870343506",
"249625583080154234803870346956983197391",
"89806277718914495087656786542800401141",
"17322400894435042249366325279308905644",
"80175177181161965794740950492864069773",
"329016752727185489257273027468539791531",
"257005188987673537335337257782156055871",
"122996339032019611660705485088372875155",
"129591656241798576916837063864070362668",
"233984553964649756664510386228647069282",
"126806365223462904701368824828307459254",
"296406980439196063465115680457261652286",
"260219467328190806586170431891223971921",
"197495617889212265519040755217307227729",
"31628705890995536727521663047389231738",
"242982519277356030624272755137386977417",
"268925681653793707802615032144976684973",
"247110321348765208009829375847705063032",
"223758312637855971317032216851553843522",
"237444165055442528715911852474230528649",
"313909189468617065737270247399908777086",
"22130768025371952771026423902971284416",
"300680398817971673786925793307096856613",
"231104229971603774934380471446483995759",
"106310983650179651636076582173992248789",
"97259797993974491192386017414851062598"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-37954-6bc9cfcb",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "find_or_create_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2407265dc32bc8cc45b62a612c2a214ba9038e8b",
"signature_version": "v1",
"digest": {
"length": 957.0,
"function_hash": "191590639647882352229592330351111274097"
}
},
{
"id": "CVE-2025-37954-6c6a91b3",
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@571dcf3d27b24800c171aea7b5e04ff06d10e2e9",
"signature_version": "v1",
"digest": {
"line_hashes": [
"61672699346776680354196034684175902382",
"113921772347797245680913168871802052557",
"111326888729412489612880844843245592871",
"56973442026537166172360478197871678917",
"51294986727592700200931848265803496413",
"73225137600604399609011112550433281155",
"303218149914911661220130446478420083536",
"2718507321348415692998646328409110192",
"187472983988378395283637390712696180500",
"205271735315568707952318158011119355176",
"81133716801839105563341510572358129350",
"310173530522175013971019573360550763665",
"189070335233368051535142899463267708993",
"193224332154107802474779752919870343506",
"249625583080154234803870346956983197391",
"89806277718914495087656786542800401141",
"17322400894435042249366325279308905644",
"80175177181161965794740950492864069773",
"329016752727185489257273027468539791531",
"257005188987673537335337257782156055871",
"122996339032019611660705485088372875155",
"129591656241798576916837063864070362668",
"233984553964649756664510386228647069282",
"126806365223462904701368824828307459254",
"296406980439196063465115680457261652286",
"260219467328190806586170431891223971921",
"197495617889212265519040755217307227729",
"31628705890995536727521663047389231738",
"242982519277356030624272755137386977417",
"268925681653793707802615032144976684973",
"247110321348765208009829375847705063032",
"223758312637855971317032216851553843522",
"237444165055442528715911852474230528649",
"313909189468617065737270247399908777086",
"22130768025371952771026423902971284416",
"300680398817971673786925793307096856613",
"231104229971603774934380471446483995759",
"106310983650179651636076582173992248789",
"97259797993974491192386017414851062598"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-37954-6cc3fff2",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "open_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ca02e63edccb78ef3659bebc68579c7224a6ca2",
"signature_version": "v1",
"digest": {
"length": 4771.0,
"function_hash": "129986548462791214271061052036177918205"
}
},
{
"id": "CVE-2025-37954-78ac680b",
"signature_type": "Line",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ed98e89ebc2e1bc73534dc3c18cb7843a889ff9",
"signature_version": "v1",
"digest": {
"line_hashes": [
"61672699346776680354196034684175902382",
"113921772347797245680913168871802052557",
"111326888729412489612880844843245592871",
"56973442026537166172360478197871678917",
"51294986727592700200931848265803496413",
"73225137600604399609011112550433281155",
"303218149914911661220130446478420083536",
"2718507321348415692998646328409110192",
"187472983988378395283637390712696180500",
"205271735315568707952318158011119355176",
"81133716801839105563341510572358129350",
"310173530522175013971019573360550763665",
"189070335233368051535142899463267708993",
"193224332154107802474779752919870343506",
"249625583080154234803870346956983197391",
"89806277718914495087656786542800401141",
"17322400894435042249366325279308905644",
"80175177181161965794740950492864069773",
"329016752727185489257273027468539791531",
"257005188987673537335337257782156055871",
"122996339032019611660705485088372875155",
"129591656241798576916837063864070362668",
"233984553964649756664510386228647069282",
"126806365223462904701368824828307459254",
"296406980439196063465115680457261652286",
"260219467328190806586170431891223971921",
"197495617889212265519040755217307227729",
"31628705890995536727521663047389231738",
"242982519277356030624272755137386977417",
"268925681653793707802615032144976684973",
"247110321348765208009829375847705063032",
"223758312637855971317032216851553843522",
"237444165055442528715911852474230528649",
"313909189468617065737270247399908777086",
"22130768025371952771026423902971284416",
"300680398817971673786925793307096856613",
"231104229971603774934380471446483995759",
"106310983650179651636076582173992248789",
"97259797993974491192386017414851062598"
],
"threshold": 0.9
}
},
{
"id": "CVE-2025-37954-a5965126",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "find_or_create_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2ed98e89ebc2e1bc73534dc3c18cb7843a889ff9",
"signature_version": "v1",
"digest": {
"length": 957.0,
"function_hash": "191590639647882352229592330351111274097"
}
},
{
"id": "CVE-2025-37954-f433e9af",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "find_or_create_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@3ca02e63edccb78ef3659bebc68579c7224a6ca2",
"signature_version": "v1",
"digest": {
"length": 957.0,
"function_hash": "191590639647882352229592330351111274097"
}
},
{
"id": "CVE-2025-37954-f81c9b33",
"signature_type": "Function",
"deprecated": false,
"target": {
"file": "fs/smb/client/cached_dir.c",
"function": "open_cached_dir"
},
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@571dcf3d27b24800c171aea7b5e04ff06d10e2e9",
"signature_version": "v1",
"digest": {
"length": 4846.0,
"function_hash": "54558011727713310071379488918446283179"
}
}
]