CVE-2025-68219

Summary

In the Linux kernel, the following vulnerability has been resolved:

cifs: fix memory leak in smb3_fs_context_parse_param error path

Add proper cleanup of ctx->source and fc->source to the cifs_parse_mount_err 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 smb3_cleanup_fs_context_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 = smb3_fs_context_fullpath(ctx, '/') allocates memory
  2. fc->source = kstrdup(ctx->source, GFP_KERNEL) allocates more memory
  3. A subsequent error jumps to cifs_parse_mount_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 smb3_fs_context_parse_param"), which only fixed leaks from repeated fsconfig() calls but not this error path.

Patch updated with minor change suggested by kernel test robot

Affected Software

VendorProductVersion RangeStatus
LinuxLinux24e0a1eff9e2b9835a6e7c17039dfb6ecfd81f1f < 7627864dc3121f39e220f5253a227edf472de59eaffected
LinuxLinux24e0a1eff9e2b9835a6e7c17039dfb6ecfd81f1f < 48d69290270891f988e72edddd9688c20515421daffected
LinuxLinux24e0a1eff9e2b9835a6e7c17039dfb6ecfd81f1f < 37010021d7e0341bb241ca00bcbae31f2c50b23faffected
LinuxLinux24e0a1eff9e2b9835a6e7c17039dfb6ecfd81f1f < 7e4d9120cfa413dd34f4f434befc5dbe6c38b2e5affected
LinuxLinux5.11affected
LinuxLinux0 < 5.11unaffected
LinuxLinux6.6.118 <= 6.6.*unaffected
LinuxLinux6.12.60 <= 6.12.*unaffected
LinuxLinux6.17.10 <= 6.17.*unaffected
LinuxLinux6.18 <= *unaffected

Weaknesses

References