Description
In the Linux kernel, the following vulnerability has been resolved: SUNRPC: fix gss_auth kref leak in gss_alloc_msg error path Commit 5940d1cf9f42 ("SUNRPC: Rebalance a kref in auth_gss.c") added a kref_get(&gss_auth->kref) call to balance the gss_put_auth() done in gss_release_msg(), but forgot to add a corresponding kref_put() on the error path when kstrdup_const() fails. If service_name is non-NULL and kstrdup_const() fails, the function jumps to err_put_pipe_version which calls put_pipe_version() and kfree(gss_msg), but never releases the gss_auth reference. This leads to a kref leak where the gss_auth structure is never freed. Add a forward declaration for gss_free_callback() and call kref_put() in the err_put_pipe_version error path to properly release the reference taken earlier.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < 3b2b6c42070ce4204936288253baf101e995c2d3affected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < b559be2ec6cdb2e9c2c36c23fbbd4690d8a5c3f7affected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < a1bc9561b617ec7e2d09e6c134d1db8fcf9ca4a6affected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < 655c9ba9915f05266998dbbf4b76b3c79b8a70aaaffected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < e464e26b2457005c87e158570498274b9f3b90c7affected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < c20f925214249bb4fc04f7e197bea142a6438af6affected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < a2d4e9a76de0b2178001214ba5de5bf94a7354aaaffected5940d1cf9f42f67e9cc3f7df9eda39f5888d6e9e to < dd2fdc3504592d85e549c523b054898a036a6afeaffected
Linux Linux
Default version status: affected
5.2affected0 to < 5.2unaffected5.10.252 to ≤ 5.10.*unaffected5.15.202 to ≤ 5.15.*unaffected6.1.165 to ≤ 6.1.*unaffected6.6.128 to ≤ 6.6.*unaffected6.12.75 to ≤ 6.12.*unaffected6.18.14 to ≤ 6.18.*unaffected6.19.4 to ≤ 6.19.*unaffected7.0 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/3b2b6c42070ce4204936288253baf101e995c2d3 ↗
- https://git.kernel.org/stable/c/b559be2ec6cdb2e9c2c36c23fbbd4690d8a5c3f7 ↗
- https://git.kernel.org/stable/c/a1bc9561b617ec7e2d09e6c134d1db8fcf9ca4a6 ↗
- https://git.kernel.org/stable/c/655c9ba9915f05266998dbbf4b76b3c79b8a70aa ↗
- https://git.kernel.org/stable/c/e464e26b2457005c87e158570498274b9f3b90c7 ↗
- https://git.kernel.org/stable/c/c20f925214249bb4fc04f7e197bea142a6438af6 ↗
- https://git.kernel.org/stable/c/a2d4e9a76de0b2178001214ba5de5bf94a7354aa ↗
- https://git.kernel.org/stable/c/dd2fdc3504592d85e549c523b054898a036a6afe ↗