CVE-2025-39819

Summary

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

fs/smb: Fix inconsistent refcnt update

A possible inconsistent update of refcount was identified in smb2_compound_op. Such inconsistent update could lead to possible resource leaks.

Why it is a possible bug:

  1. In the comment section of the function, it clearly states that the reference to cfile should be dropped after calling this function.
  2. Every control flow path would check and drop the reference to cfile, except the patched one.
  3. Existing callers would not handle refcount update of cfile if -ENOMEM is returned.

To fix the bug, an extra goto label "out" is added, to make sure that the cleanup logic would always be respected. As the problem is caused by the allocation failure of vars, the cleanup logic between label "finished" and "out" can be safely ignored. According to the definition of function is_replayable_error, the error code of "-ENOMEM" is not recoverable. Therefore, the replay logic also gets ignored.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxa7d5c294628088781da9e91cbb034d61c3a71f71 < 3fc11ff13fbc2749871d6ac2141685cf54699997affected
LinuxLinuxa7d5c294628088781da9e91cbb034d61c3a71f71 < 4191ea1f0bb3e27d65c5dcde7bd00e709ec67141affected
LinuxLinuxa7d5c294628088781da9e91cbb034d61c3a71f71 < 4735f5991f51468b85affb8366b7067248457a71affected
LinuxLinuxa7d5c294628088781da9e91cbb034d61c3a71f71 < cc82c6dff548f0066a51a6e577c7454e7d26a968affected
LinuxLinuxa7d5c294628088781da9e91cbb034d61c3a71f71 < ab529e6ca1f67bcf31f3ea80c72bffde2e9e053eaffected
LinuxLinux5.8affected
LinuxLinux0 < 5.8unaffected
LinuxLinux6.1.150 <= 6.1.*unaffected
LinuxLinux6.6.104 <= 6.6.*unaffected
LinuxLinux6.12.45 <= 6.12.*unaffected
LinuxLinux6.16.5 <= 6.16.*unaffected
LinuxLinux6.17 <= *unaffected

Weaknesses

ADP Enrichment

CVE Program Container

Additional References

Additional References

References