CVE-2025-40138
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: f2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency() syzbot reported a f2fs bug as below: Oops: gen[ 107.736417][ T5848] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007] CPU: 1 UID: 0 PID: 5848 Comm: syz-executor263 Tainted: G W 6.17.0-rc1-syzkaller-00014-g0e39a731820a #0 PREEMPT_{RT,(full)} RIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284 Call Trace: <TASK> f2fs_check_quota_consistency fs/f2fs/super.c:1188 [inline] f2fs_check_opt_consistency+0x1378/0x2c10 fs/f2fs/super.c:1436 __f2fs_remount fs/f2fs/super.c:2653 [inline] f2fs_reconfigure+0x482/0x1770 fs/f2fs/super.c:5297 reconfigure_super+0x224/0x890 fs/super.c:1077 do_remount fs/namespace.c:3314 [inline] path_mount+0xd18/0xfe0 fs/namespace.c:4112 do_mount fs/namespace.c:4133 [inline] __do_sys_mount fs/namespace.c:4344 [inline] __se_sys_mount+0x317/0x410 fs/namespace.c:4321 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f The direct reason is f2fs_check_quota_consistency() may suffer null-ptr-deref issue in strcmp(). The bug can be reproduced w/ below scripts: mkfs.f2fs -f /dev/vdb mount -t f2fs -o usrquota /dev/vdb /mnt/f2fs quotacheck -uc /mnt/f2fs/ umount /mnt/f2fs mount -t f2fs -o usrjquota=aquota.user,jqfmt=vfsold /dev/vdb /mnt/f2fs mount -t f2fs -o remount,usrjquota=,jqfmt=vfsold /dev/vdb /mnt/f2fs umount /mnt/f2fs So, before old_qname and new_qname comparison, we need to check whether they are all valid pointers, fix it.
View original CVE JSON
{
"id": "CVE-2025-40138",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2025-11-12T11:15:43.553",
"lastModified": "2026-10-19T21:10:00.160",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to avoid NULL pointer dereference in f2fs_check_quota_consistency()\n\nsyzbot reported a f2fs bug as below:\n\nOops: gen[ 107.736417][ T5848] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI\nKASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]\nCPU: 1 UID: 0 PID: 5848 Comm: syz-executor263 Tainted: G W 6.17.0-rc1-syzkaller-00014-g0e39a731820a #0 PREEMPT_{RT,(full)}\nRIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284\nCall Trace:\n <TASK>\n f2fs_check_quota_consistency fs/f2fs/super.c:1188 [inline]\n f2fs_check_opt_consistency+0x1378/0x2c10 fs/f2fs/super.c:1436\n __f2fs_remount fs/f2fs/super.c:2653 [inline]\n f2fs_reconfigure+0x482/0x1770 fs/f2fs/super.c:5297\n reconfigure_super+0x224/0x890 fs/super.c:1077\n do_remount fs/namespace.c:3314 [inline]\n path_mount+0xd18/0xfe0 fs/namespace.c:4112\n do_mount fs/namespace.c:4133 [inline]\n __do_sys_mount fs/namespace.c:4344 [inline]\n __se_sys_mount+0x317/0x410 fs/namespace.c:4321\n do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]\n do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\nThe direct reason is f2fs_check_quota_consistency() may suffer null-ptr-deref\nissue in strcmp().\n\nThe bug can be reproduced w/ below scripts:\nmkfs.f2fs -f /dev/vdb\nmount -t f2fs -o usrquota /dev/vdb /mnt/f2fs\nquotacheck -uc /mnt/f2fs/\numount /mnt/f2fs\nmount -t f2fs -o usrjquota=aquota.user,jqfmt=vfsold /dev/vdb /mnt/f2fs\nmount -t f2fs -o remount,usrjquota=,jqfmt=vfsold /dev/vdb /mnt/f2fs\numount /mnt/f2fs\n\nSo, before old_qname and new_qname comparison, we need to check whether\nthey are all valid pointers, fix it."
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nf2fs: corrección para evitar la desreferencia de puntero NULL en f2fs_check_quota_consistency()\n\nsyzbot informó un error de f2fs como se detalla a continuación:\n\nOops: gen[ 107.736417][ T5848] Oops: fallo de protección general, probablemente para la dirección no canónica 0xdffffc0000000000: 0000 [#1] SMP KASAN PTI\nKASAN: desreferencia de puntero nulo en el rango [0x0000000000000000-0x0000000000000007]\nCPU: 1 UID: 0 PID: 5848 Comm: syz-executor263 Tainted: G W 6.17.0-rc1-syzkaller-00014-g0e39a731820a #0 PREEMPT_{RT,(full)}\nRIP: 0010:strcmp+0x3c/0xc0 lib/string.c:284\nTraza de Llamada:\n <TAREA>\n f2fs_check_quota_consistency fs/f2fs/super.c:1188 [en línea]\n f2fs_check_opt_consistency+0x1378/0x2c10 fs/f2fs/super.c:1436\n __f2fs_remount fs/f2fs/super.c:2653 [en línea]\n f2fs_reconfigure+0x482/0x1770 fs/f2fs/super.c:5297\n reconfigure_super+0x224/0x890 fs/super.c:1077\n do_remount fs/namespace.c:3314 [en línea]\n path_mount+0xd18/0xfe0 fs/namespace.c:4112\n do_mount fs/namespace.c:4133 [en línea]\n __do_sys_mount fs/namespace.c:4344 [en línea]\n __se_sys_mount+0x317/0x410 fs/namespace.c:4321\n do_syscall_x64 arch/x86/entry/syscall_64.c:63 [en línea]\n do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94\n entry_SYSCALL_64_after_hwframe+0x77/0x7f\n\nLa razón directa es que f2fs_check_quota_consistency() puede sufrir un problema de desreferencia de puntero nulo en strcmp().\n\nEl error puede ser reproducido con los siguientes scripts:\nmkfs.f2fs -f /dev/vdb\nmount -t f2fs -o usrquota /dev/vdb /mnt/f2fs\nquotacheck -uc /mnt/f2fs/\numount /mnt/f2fs\nmount -t f2fs -o usrjquota=aquota.user,jqfmt=vfsold /dev/vdb /mnt/f2fs\nmount -t f2fs -o remount,usrjquota=,jqfmt=vfsold /dev/vdb /mnt/f2fs\numount /mnt/f2fs\n\nPor lo tanto, antes de la comparación de old_qname y new_qname, necesitamos verificar si todos son punteros válidos; corregirlo."
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"fs/f2fs/super.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "d185351325237da688de006a2c579e82ea97bdfe",
"lessThan": "3f3458852bbfe79c60f2412b8b04677b96688b6e",
"versionType": "git",
"status": "affected"
},
{
"version": "d185351325237da688de006a2c579e82ea97bdfe",
"lessThan": "930a9a6ee8e7ffa20af4bffbfc2bbd21d83bf81c",
"versionType": "git",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"fs/f2fs/super.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.17",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.17",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.17.3",
"lessThanOrEqual": "6.17.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/3f3458852bbfe79c60f2412b8b04677b96688b6e",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/930a9a6ee8e7ffa20af4bffbfc2bbd21d83bf81c",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}