In the Linux kernel, the following vulnerability has been resolved:
cifs: fix memory leak in smb3fscontextparseparam error path
Add proper cleanup of ctx->source and fc->source to the cifsparsemounterr error handler. This ensures that memory allocated for the source strings is correctly freed on all error paths, matching the cleanup already performed in the success path by smb3cleanupfscontext_contents(). Pointers are also set to NULL after freeing to prevent potential double-free issues.
This change fixes a memory leak originally detected by syzbot. The leak occurred when processing Opt_source mount options if an error happened after ctx->source and fc->source were successfully allocated but before the function completed.
The specific leak sequence was: 1. ctx->source = smb3fscontextfullpath(ctx, '/') allocates memory 2. fc->source = kstrdup(ctx->source, GFPKERNEL) allocates more memory 3. A subsequent error jumps to cifsparsemount_err 4. The old error handler freed passwords but not the source strings, causing the memory to leak.
This issue was not addressed by commit e8c73eb7db0a ("cifs: client: fix memory leak in smb3fscontextparseparam"), which only fixed leaks from repeated fsconfig() calls but not this error path.
Patch updated with minor change suggested by kernel test robot
{
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/68xxx/CVE-2025-68219.json",
"cna_assigner": "Linux"
}