SUNRPC: fix gss_auth kref leak in gss_alloc_msg error path
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
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.
Timeline
- CVE published
Affected versions
- Linux Linux
Version range not reported
- Linux Linux
5.2
References 8
git.kernel.org
- stable/c/3b2b6c42070ce4204936288253baf101e995c2d3
- stable/c/b559be2ec6cdb2e9c2c36c23fbbd4690d8a5c3f7
- stable/c/a1bc9561b617ec7e2d09e6c134d1db8fcf9ca4a6
- stable/c/655c9ba9915f05266998dbbf4b76b3c79b8a70aa
- stable/c/e464e26b2457005c87e158570498274b9f3b90c7
- stable/c/c20f925214249bb4fc04f7e197bea142a6438af6
- stable/c/a2d4e9a76de0b2178001214ba5de5bf94a7354aa
- stable/c/dd2fdc3504592d85e549c523b054898a036a6afe