In the Linux kernel, the following vulnerability has been resolved:
NFSv4.2: fix reference count leaks in nfs42proccopynotify()
[You don't often get email from xiongx18@fudan.edu.cn. Learn why this is important at http://aka.ms/LearnAboutSenderIdentification.]
The reference counting issue happens in two error paths in the
function nfs42proccopynotify(). In both error paths, the function
simply returns the error code and forgets to balance the refcount of
object ctx
, bumped by getnfsopen_context() earlier, which may
cause refcount leaks.
Fix it by balancing refcount of the ctx
object before the function
returns in both error paths.
{ "vanir_signatures": [ { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nfs/nfs42proc.c", "function": "_nfs42_proc_copy_notify" }, "signature_version": "v1", "digest": { "length": 804.0, "function_hash": "78670609561055663835346824278799670247" }, "id": "CVE-2022-49103-0518bf52", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b9feec97c1fc7dd9bb69f62c4905cddf1801599" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nfs/nfs42proc.c", "function": "_nfs42_proc_copy_notify" }, "signature_version": "v1", "digest": { "length": 860.0, "function_hash": "90969117497640168053616225272653647008" }, "id": "CVE-2022-49103-0bb2c208", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7f114edd54326f730a754547e7cfb197b5bc132" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nfs/nfs42proc.c", "function": "_nfs42_proc_copy_notify" }, "signature_version": "v1", "digest": { "length": 804.0, "function_hash": "78670609561055663835346824278799670247" }, "id": "CVE-2022-49103-1e394198", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b37f482ba9f0e6382c188e3fccf6c4b2fdc938eb" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nfs/nfs42proc.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "187095792098703423634972228617117613759", "288648775981339609719768597003695163675", "22067032207715111782041061919954544941", "330792659354516852596560958048392647329", "319014804779210134198177235096861359310", "120066879651631924719341829462561804212", "290869455745958701086157445864657522563", "153913628402427596680237162861931441063", "254936881682073407060939722134025115991", "205848632770896961195076765941687741554", "321071412929322627561958059581836010298", "263200574865105484459398758323932544849" ], "threshold": 0.9 }, "id": "CVE-2022-49103-2a97df92", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b7f114edd54326f730a754547e7cfb197b5bc132" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nfs/nfs42proc.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "187095792098703423634972228617117613759", "288648775981339609719768597003695163675", "22067032207715111782041061919954544941", "330792659354516852596560958048392647329", "319014804779210134198177235096861359310", "120066879651631924719341829462561804212", "290869455745958701086157445864657522563", "153913628402427596680237162861931441063", "254936881682073407060939722134025115991", "205848632770896961195076765941687741554", "321071412929322627561958059581836010298", "263200574865105484459398758323932544849" ], "threshold": 0.9 }, "id": "CVE-2022-49103-3d0d48af", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f46f632f9cfae4b2e3635fa58840a8ec584c42e3" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nfs/nfs42proc.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "187095792098703423634972228617117613759", "288648775981339609719768597003695163675", "22067032207715111782041061919954544941", "330792659354516852596560958048392647329", "319014804779210134198177235096861359310", "120066879651631924719341829462561804212", "290869455745958701086157445864657522563", "153913628402427596680237162861931441063", "254936881682073407060939722134025115991", "210932363890140197393748633513326970729", "321071412929322627561958059581836010298", "263200574865105484459398758323932544849" ], "threshold": 0.9 }, "id": "CVE-2022-49103-892f5c75", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@9b9feec97c1fc7dd9bb69f62c4905cddf1801599" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nfs/nfs42proc.c", "function": "_nfs42_proc_copy_notify" }, "signature_version": "v1", "digest": { "length": 860.0, "function_hash": "90969117497640168053616225272653647008" }, "id": "CVE-2022-49103-956b28ee", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@f46f632f9cfae4b2e3635fa58840a8ec584c42e3" }, { "deprecated": false, "signature_type": "Function", "target": { "file": "fs/nfs/nfs42proc.c", "function": "_nfs42_proc_copy_notify" }, "signature_version": "v1", "digest": { "length": 860.0, "function_hash": "90969117497640168053616225272653647008" }, "id": "CVE-2022-49103-bd9f02ab", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb73bf6305f4eb8f0cf9a61ee874d55f019d6dc4" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nfs/nfs42proc.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "187095792098703423634972228617117613759", "288648775981339609719768597003695163675", "22067032207715111782041061919954544941", "330792659354516852596560958048392647329", "319014804779210134198177235096861359310", "120066879651631924719341829462561804212", "290869455745958701086157445864657522563", "153913628402427596680237162861931441063", "254936881682073407060939722134025115991", "210932363890140197393748633513326970729", "321071412929322627561958059581836010298", "263200574865105484459398758323932544849" ], "threshold": 0.9 }, "id": "CVE-2022-49103-c8bced08", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@b37f482ba9f0e6382c188e3fccf6c4b2fdc938eb" }, { "deprecated": false, "signature_type": "Line", "target": { "file": "fs/nfs/nfs42proc.c" }, "signature_version": "v1", "digest": { "line_hashes": [ "187095792098703423634972228617117613759", "288648775981339609719768597003695163675", "22067032207715111782041061919954544941", "330792659354516852596560958048392647329", "319014804779210134198177235096861359310", "120066879651631924719341829462561804212", "290869455745958701086157445864657522563", "153913628402427596680237162861931441063", "254936881682073407060939722134025115991", "205848632770896961195076765941687741554", "321071412929322627561958059581836010298", "263200574865105484459398758323932544849" ], "threshold": 0.9 }, "id": "CVE-2022-49103-ef30171f", "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@fb73bf6305f4eb8f0cf9a61ee874d55f019d6dc4" } ] }