CVE-2022-48942

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-48942
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-48942.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-48942
Downstream
Related
Published
2024-08-22T03:30:12Z
Modified
2025-10-08T07:29:34.963283Z
Summary
hwmon: Handle failure to register sensor with thermal zone correctly
Details

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

hwmon: Handle failure to register sensor with thermal zone correctly

If an attempt is made to a sensor with a thermal zone and it fails, the call to devmthermalzoneofsensor_register() may return -ENODEV. This may result in crashes similar to the following.

Unable to handle kernel NULL pointer dereference at virtual address 00000000000003cd ... Internal error: Oops: 96000021 [#1] PREEMPT SMP ... pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : mutexlock+0x18/0x60 lr : thermalzonedeviceupdate+0x40/0x2e0 sp : ffff800014c4fc60 x29: ffff800014c4fc60 x28: ffff365ee3f6e000 x27: ffffdde218426790 x26: ffff365ee3f6e000 x25: 0000000000000000 x24: ffff365ee3f6e000 x23: ffffdde218426870 x22: ffff365ee3f6e000 x21: 00000000000003cd x20: ffff365ee8bf3308 x19: ffffffffffffffed x18: 0000000000000000 x17: ffffdde21842689c x16: ffffdde1cb7a0b7c x15: 0000000000000040 x14: ffffdde21a4889a0 x13: 0000000000000228 x12: 0000000000000000 x11: 0000000000000000 x10: 0000000000000000 x9 : 0000000000000000 x8 : 0000000001120000 x7 : 0000000000000001 x6 : 0000000000000000 x5 : 0068000878e20f07 x4 : 0000000000000000 x3 : 00000000000003cd x2 : ffff365ee3f6e000 x1 : 0000000000000000 x0 : 00000000000003cd Call trace: mutexlock+0x18/0x60 hwmonnotifyevent+0xfc/0x110 0xffffdde1cb7a0a90 0xffffdde1cb7a0b7c irqthreadfn+0x2c/0xa0 irqthread+0x134/0x240 kthread+0x178/0x190 retfromfork+0x10/0x20 Code: d503201f d503201f d2800001 aa0103e4 (c8e47c02)

Jon Hunter reports that the exact call sequence is:

hwmonnotifyevent() --> hwmonthermalnotify() --> thermalzonedeviceupdate() --> updatetemperature() --> mutex_lock()

The hwmon core needs to handle all errors returned from calls to devmthermalzoneofsensor_register(). If the call fails with -ENODEV, report that the sensor was not attached to a thermal zone but continue to register the hwmon device.

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
1597b374af22266266e1e20612208c4b11359ad4
Fixed
962b2a3188bfa5388756ffbc47dfa5ff59cb8011
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1597b374af22266266e1e20612208c4b11359ad4
Fixed
7efe8499cb90651c540753f4269d2d43ede14223
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1597b374af22266266e1e20612208c4b11359ad4
Fixed
8a1969e14ad93663f9a3ed02ccc2138da9956a0e
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
1597b374af22266266e1e20612208c4b11359ad4
Fixed
1b5f517cca36292076d9e38fa6e33a257703e62e

Affected versions

v5.*

v5.10
v5.10-rc1
v5.10-rc2
v5.10-rc3
v5.10-rc4
v5.10-rc5
v5.10-rc6
v5.10-rc7
v5.10.1
v5.10.10
v5.10.100
v5.10.101
v5.10.102
v5.10.11
v5.10.12
v5.10.13
v5.10.14
v5.10.15
v5.10.16
v5.10.17
v5.10.18
v5.10.19
v5.10.2
v5.10.20
v5.10.21
v5.10.22
v5.10.23
v5.10.24
v5.10.25
v5.10.26
v5.10.27
v5.10.28
v5.10.29
v5.10.3
v5.10.30
v5.10.31
v5.10.32
v5.10.33
v5.10.34
v5.10.35
v5.10.36
v5.10.37
v5.10.38
v5.10.39
v5.10.4
v5.10.40
v5.10.41
v5.10.42
v5.10.43
v5.10.44
v5.10.45
v5.10.46
v5.10.47
v5.10.48
v5.10.49
v5.10.5
v5.10.50
v5.10.51
v5.10.52
v5.10.53
v5.10.54
v5.10.55
v5.10.56
v5.10.57
v5.10.58
v5.10.59
v5.10.6
v5.10.60
v5.10.61
v5.10.62
v5.10.63
v5.10.64
v5.10.65
v5.10.66
v5.10.67
v5.10.68
v5.10.69
v5.10.7
v5.10.70
v5.10.71
v5.10.72
v5.10.73
v5.10.74
v5.10.75
v5.10.76
v5.10.77
v5.10.78
v5.10.79
v5.10.8
v5.10.80
v5.10.81
v5.10.82
v5.10.83
v5.10.84
v5.10.85
v5.10.86
v5.10.87
v5.10.88
v5.10.89
v5.10.9
v5.10.90
v5.10.91
v5.10.92
v5.10.93
v5.10.94
v5.10.95
v5.10.96
v5.10.97
v5.10.98
v5.10.99
v5.11
v5.11-rc1
v5.11-rc2
v5.11-rc3
v5.11-rc4
v5.11-rc5
v5.11-rc6
v5.11-rc7
v5.12
v5.12-rc1
v5.12-rc1-dontuse
v5.12-rc2
v5.12-rc3
v5.12-rc4
v5.12-rc5
v5.12-rc6
v5.12-rc7
v5.12-rc8
v5.13
v5.13-rc1
v5.13-rc2
v5.13-rc3
v5.13-rc4
v5.13-rc5
v5.13-rc6
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.3
v5.15.4
v5.15.5
v5.15.6
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.16.1
v5.16.10
v5.16.11
v5.16.2
v5.16.3
v5.16.4
v5.16.5
v5.16.6
v5.16.7
v5.16.8
v5.16.9
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.7
v5.7-rc7
v5.8
v5.8-rc1
v5.8-rc2
v5.8-rc3
v5.8-rc4
v5.8-rc5
v5.8-rc6
v5.8-rc7
v5.9
v5.9-rc1
v5.9-rc2
v5.9-rc3
v5.9-rc4
v5.9-rc5
v5.9-rc6
v5.9-rc7
v5.9-rc8

Database specific

{
    "vanir_signatures": [
        {
            "signature_type": "Function",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@962b2a3188bfa5388756ffbc47dfa5ff59cb8011",
            "target": {
                "file": "drivers/hwmon/hwmon.c",
                "function": "hwmon_thermal_add_sensor"
            },
            "id": "CVE-2022-48942-1ebf1d79",
            "digest": {
                "length": 591.0,
                "function_hash": "258242562964647562615306601714476072347"
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Line",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@962b2a3188bfa5388756ffbc47dfa5ff59cb8011",
            "target": {
                "file": "drivers/hwmon/hwmon.c"
            },
            "id": "CVE-2022-48942-24c57ca5",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "3260745066303205129786638716871610716",
                    "281177155376910364774072800011844684927",
                    "19226484727635543474792528484095990866",
                    "18691160982716783675598581456477436767",
                    "34799955841403227832882909221198484005"
                ]
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Line",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b5f517cca36292076d9e38fa6e33a257703e62e",
            "target": {
                "file": "drivers/hwmon/hwmon.c"
            },
            "id": "CVE-2022-48942-66c14f07",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "3260745066303205129786638716871610716",
                    "281177155376910364774072800011844684927",
                    "19226484727635543474792528484095990866",
                    "18691160982716783675598581456477436767",
                    "34799955841403227832882909221198484005"
                ]
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Line",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a1969e14ad93663f9a3ed02ccc2138da9956a0e",
            "target": {
                "file": "drivers/hwmon/hwmon.c"
            },
            "id": "CVE-2022-48942-6dce8d33",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "3260745066303205129786638716871610716",
                    "281177155376910364774072800011844684927",
                    "19226484727635543474792528484095990866",
                    "18691160982716783675598581456477436767",
                    "34799955841403227832882909221198484005"
                ]
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Line",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7efe8499cb90651c540753f4269d2d43ede14223",
            "target": {
                "file": "drivers/hwmon/hwmon.c"
            },
            "id": "CVE-2022-48942-84c981c0",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "3260745066303205129786638716871610716",
                    "281177155376910364774072800011844684927",
                    "19226484727635543474792528484095990866",
                    "18691160982716783675598581456477436767",
                    "34799955841403227832882909221198484005"
                ]
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Function",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@8a1969e14ad93663f9a3ed02ccc2138da9956a0e",
            "target": {
                "file": "drivers/hwmon/hwmon.c",
                "function": "hwmon_thermal_add_sensor"
            },
            "id": "CVE-2022-48942-9c88de4a",
            "digest": {
                "length": 591.0,
                "function_hash": "258242562964647562615306601714476072347"
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Function",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@1b5f517cca36292076d9e38fa6e33a257703e62e",
            "target": {
                "file": "drivers/hwmon/hwmon.c",
                "function": "hwmon_thermal_add_sensor"
            },
            "id": "CVE-2022-48942-a32dd479",
            "digest": {
                "length": 591.0,
                "function_hash": "258242562964647562615306601714476072347"
            },
            "signature_version": "v1"
        },
        {
            "signature_type": "Function",
            "deprecated": false,
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@7efe8499cb90651c540753f4269d2d43ede14223",
            "target": {
                "file": "drivers/hwmon/hwmon.c",
                "function": "hwmon_thermal_add_sensor"
            },
            "id": "CVE-2022-48942-a8524a2e",
            "digest": {
                "length": 591.0,
                "function_hash": "258242562964647562615306601714476072347"
            },
            "signature_version": "v1"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.8.0
Fixed
5.10.103
Type
ECOSYSTEM
Events
Introduced
5.11.0
Fixed
5.15.26
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
5.16.12