CVE-2022-50046

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-50046
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2022-50046.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2022-50046
Downstream
Related
Published
2025-06-18T11:01:47Z
Modified
2025-10-21T11:52:55.950945Z
Summary
net/sunrpc: fix potential memory leaks in rpc_sysfs_xprt_state_change()
Details

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

net/sunrpc: fix potential memory leaks in rpcsysfsxprtstatechange()

The issue happens on some error handling paths. When the function fails to grab the object xprt, it simply returns 0, forgetting to decrease the reference count of another object xps, which is increased by rpcsysfsxprtkobjgetxprtswitch(), causing refcount leaks. Also, the function forgets to check whether xps is valid before using it, which may result in NULL-dereferencing issues.

Fix it by adding proper error handling code when either xprt or xps is NULL.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5b7eb78486cd9ac58bfbd6d84ea0fe2d9fead03b
Fixed
c0434f0e058648649250b8ed6078b66d773de723
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5b7eb78486cd9ac58bfbd6d84ea0fe2d9fead03b
Fixed
76fbeb1662b1c56514325118a07fba74dc4c79fe
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
5b7eb78486cd9ac58bfbd6d84ea0fe2d9fead03b
Fixed
bfc48f1b0505ffcb03a6d749139b7577d6b81ae0

Affected versions

v5.*

v5.13
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.11
v5.15.12
v5.15.13
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.33
v5.15.34
v5.15.35
v5.15.36
v5.15.37
v5.15.38
v5.15.39
v5.15.4
v5.15.40
v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.15.46
v5.15.47
v5.15.48
v5.15.49
v5.15.5
v5.15.50
v5.15.51
v5.15.52
v5.15.53
v5.15.54
v5.15.55
v5.15.56
v5.15.57
v5.15.58
v5.15.59
v5.15.6
v5.15.60
v5.15.61
v5.15.62
v5.15.7
v5.15.8
v5.15.9
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8
v5.19.1
v5.19.2
v5.19.3

Database specific

vanir_signatures

[
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfc48f1b0505ffcb03a6d749139b7577d6b81ae0",
        "id": "CVE-2022-50046-03f1f338",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Line",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "199427314492209103650946986433224722655",
                "220367509062216270809034746841923416319",
                "95545098480799310759911230752079137791",
                "106228554847361886763965372380246462193",
                "264598348748722233816303893368680174316"
            ]
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76fbeb1662b1c56514325118a07fba74dc4c79fe",
        "id": "CVE-2022-50046-0d61b432",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "function": "rpc_sysfs_xprt_state_change",
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Function",
        "digest": {
            "length": 1411.0,
            "function_hash": "325484107837375352069075505036889046100"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c0434f0e058648649250b8ed6078b66d773de723",
        "id": "CVE-2022-50046-1dad50fb",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "function": "rpc_sysfs_xprt_state_change",
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Function",
        "digest": {
            "length": 1411.0,
            "function_hash": "325484107837375352069075505036889046100"
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@76fbeb1662b1c56514325118a07fba74dc4c79fe",
        "id": "CVE-2022-50046-559d60df",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Line",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "199427314492209103650946986433224722655",
                "220367509062216270809034746841923416319",
                "95545098480799310759911230752079137791",
                "106228554847361886763965372380246462193",
                "264598348748722233816303893368680174316"
            ]
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@c0434f0e058648649250b8ed6078b66d773de723",
        "id": "CVE-2022-50046-7cf3b22b",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Line",
        "digest": {
            "threshold": 0.9,
            "line_hashes": [
                "199427314492209103650946986433224722655",
                "220367509062216270809034746841923416319",
                "95545098480799310759911230752079137791",
                "106228554847361886763965372380246462193",
                "264598348748722233816303893368680174316"
            ]
        }
    },
    {
        "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@bfc48f1b0505ffcb03a6d749139b7577d6b81ae0",
        "id": "CVE-2022-50046-fb70ecef",
        "deprecated": false,
        "signature_version": "v1",
        "target": {
            "function": "rpc_sysfs_xprt_state_change",
            "file": "net/sunrpc/sysfs.c"
        },
        "signature_type": "Function",
        "digest": {
            "length": 912.0,
            "function_hash": "212514027748793236120399739624148408505"
        }
    }
]

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.14.0
Fixed
5.15.63
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.19.4