Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected a7d5c294628088781da9e91cbb034d61c3a71f71 before 3fc11ff13fbc2749871d6ac2141685cf54699997; affected a7d5c294628088781da9e91cbb034d61c3a71f71 before 4191ea1f0bb3e27d65c5dcde7bd00e709ec67141; affected a7d5c294628088781da9e91cbb034d61c3a71f71 before 4735f5991f51468b85affb8366b7067248457a71; affected a7d5c294628088781da9e91cbb034d61c3a71f71 before cc82c6dff548f0066a51a6e577c7454e7d26a968; affected a7d5c294628088781da9e91cbb034d61c3a71f71 before ab529e6ca1f67bcf31f3ea80c72bffde2e9e053e |
| Linux / Linux | affected 5.8; unaffected 0 before 5.8; unaffected 6.1.150 through 6.1.*; unaffected 6.6.104 through 6.6.*; unaffected 6.12.45 through 6.12.*; unaffected 6.16.5 through 6.16.*; unaffected 6.17 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/3fc11ff13fbc2749871d6ac2141685cf54699997
- https://git.kernel.org/stable/c/4191ea1f0bb3e27d65c5dcde7bd00e709ec67141
- https://git.kernel.org/stable/c/4735f5991f51468b85affb8366b7067248457a71
- https://git.kernel.org/stable/c/cc82c6dff548f0066a51a6e577c7454e7d26a968
- https://git.kernel.org/stable/c/ab529e6ca1f67bcf31f3ea80c72bffde2e9e053e
ADP enrichment
No English description supplied.
No English description supplied.