In the Linux kernel, the following vulnerability has been resolved:
exfat: add cluster chain loop check for dir
An infinite loop may occur if the following conditions occur due to file system corruption.
(1) Condition for exfatcountdir_entries() to loop infinitely. - The cluster chain includes a loop. - There is no UNUSED entry in the cluster chain.
(2) Condition for exfatcreateupcase_table() to loop infinitely. - The cluster chain of the root directory includes a loop. - There are no UNUSED entry and up-case table entry in the cluster chain of the root directory.
(3) Condition for exfatloadbitmap() to loop infinitely. - The cluster chain of the root directory includes a loop. - There are no UNUSED entry and bitmap entry in the cluster chain of the root directory.
(4) Condition for exfatfinddir_entry() to loop infinitely. - The cluster chain includes a loop. - The unused directory entries were exhausted by some operation.
(5) Condition for exfatcheckdir_empty() to loop infinitely. - The cluster chain includes a loop. - The unused directory entries were exhausted by some operation. - All files and sub-directories under the directory are deleted.
This commit adds checks to break the above infinite loop.
{
"cna_assigner": "Linux",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/38xxx/CVE-2025-38692.json"
}"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-38692.json"
[
{
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-3a663ad2",
"deprecated": false,
"target": {
"file": "fs/exfat/super.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"287979977646569438561472069786238864340",
"98439136091736233295156537534036011056",
"130520988694193191847309104044538682340",
"210082837988046089616723537539733881773",
"297539795340547896495803480351246979324",
"62283024546041977556516429049883808734",
"159769400204728882529283944168655692157",
"172665504412284596424900734823123457760",
"263388791930598084397397441318999823721",
"110691290604550396544359334430244072732",
"123330894058159819435103612115640820121",
"111224437064372194578201176714007398205",
"183277761885586768677519466042228955761",
"18315959744379929495878423056239323046",
"332837051080753395664149473518531568404",
"31034835170379503314626911728402725535",
"86074094098556825240495764703637828386",
"264775406190590837054576809421122242139",
"136371926142405552767310266427934067720",
"47412190801197939004687152080666948076",
"320855406874430754923095377311119302682",
"5055280984937673361533746666695776759",
"91526873137341429060676578965461674686",
"135954284715442525590514388622285679365",
"28173629654705455313720772253361522979",
"262731865190895671666441513956802756744",
"127378147918681050727780803338519924714",
"27899135388811198207578868089747376911",
"235359167236347033660353532807903162925",
"118597161129218167785307479871667651195",
"189259690767464436010712360361476449010",
"214540467750996094472343315460964051607",
"225668498412496279826905226533570522145",
"204963535860521317840595432332856289227",
"145632836471154027547889002236637041240",
"104881310087119359681572959906506566976",
"306883271621313833949287434186435831162"
],
"threshold": 0.9
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-3fc204d3",
"deprecated": false,
"target": {
"function": "__exfat_fill_super",
"file": "fs/exfat/super.c"
},
"signature_version": "v1",
"digest": {
"length": 814.0,
"function_hash": "46043784942184880876515258005338649475"
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-56619e6a",
"deprecated": false,
"target": {
"function": "exfat_count_dir_entries",
"file": "fs/exfat/dir.c"
},
"signature_version": "v1",
"digest": {
"length": 722.0,
"function_hash": "175128792248120392296281749389768256249"
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-594071d1",
"deprecated": false,
"target": {
"function": "exfat_fill_super",
"file": "fs/exfat/super.c"
},
"signature_version": "v1",
"digest": {
"length": 1950.0,
"function_hash": "91404022924654409256316736674774701894"
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-6ee3af7f",
"deprecated": false,
"target": {
"function": "exfat_read_root",
"file": "fs/exfat/super.c"
},
"signature_version": "v1",
"digest": {
"length": 1497.0,
"function_hash": "171215609767820336018900247811723940660"
}
},
{
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-723b5c05",
"deprecated": false,
"target": {
"file": "fs/exfat/namei.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"322797181441925007182953702231821707329",
"280087246540576465068034023154680845660",
"310466119126620327276212670415664853724",
"232129888492251777334774355772438081301",
"84800916171736288205555262793781806634",
"275712039324205108139527380469342010025",
"221248162431109261746806878845294110540",
"315297764493019680029647061223872528043"
],
"threshold": 0.9
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-7773f792",
"deprecated": false,
"target": {
"function": "exfat_find_dir_entry",
"file": "fs/exfat/dir.c"
},
"signature_version": "v1",
"digest": {
"length": 3371.0,
"function_hash": "124549081789448651979225942165199699358"
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-9cc0af33",
"deprecated": false,
"target": {
"function": "exfat_count_num_clusters",
"file": "fs/exfat/fatent.c"
},
"signature_version": "v1",
"digest": {
"length": 570.0,
"function_hash": "103989914907863969858669326130316572167"
}
},
{
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-acf93707",
"deprecated": false,
"target": {
"file": "fs/exfat/dir.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"124093884980676403654106115989689407544",
"227398920015315454471470127370796610503",
"88077562265436251755429171016901063079",
"104676466022511732485875907293453949513",
"316639525761199737255643091691291686488",
"84375483490616903425614799254548625953",
"202840931315777637163581510192314769653",
"191689469322977674256160515287059830785",
"164476782892277939016014850625082164802",
"269153315233461206804612695048609008156",
"53137992348099410847486595726161074533",
"272885973249140811480943681436041550430",
"84800916171736288205555262793781806634",
"275712039324205108139527380469342010025",
"221248162431109261746806878845294110540",
"35691647777484311671972821667085789267"
],
"threshold": 0.9
}
},
{
"signature_type": "Function",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-e771859f",
"deprecated": false,
"target": {
"function": "exfat_check_dir_empty",
"file": "fs/exfat/namei.c"
},
"signature_version": "v1",
"digest": {
"length": 793.0,
"function_hash": "63553075166090444752666308126044650048"
}
},
{
"signature_type": "Line",
"source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@868f23286c1a13162330fa6c614fe350f78e3f82",
"id": "CVE-2025-38692-f6f229d6",
"deprecated": false,
"target": {
"file": "fs/exfat/fatent.c"
},
"signature_version": "v1",
"digest": {
"line_hashes": [
"157226035434880795947398414522754340122",
"279347204241534876537137913312952531460",
"20724986383765540390756402148918541548"
],
"threshold": 0.9
}
}
]