gpiolib: cdev: fix NULL-pointer dereferences (Linux Linux)

CVE-2022-50453
MEDIUM 5.5

At a glance

Source
NVD
EPSS
EPSS 0.16 % · percentile 5 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Analyzed

Description

In the Linux kernel, the following vulnerability has been resolved: gpiolib: cdev: fix NULL-pointer dereferences There are several places where we can crash the kernel by requesting lines, unbinding the GPIO device, then calling any of the system calls relevant to the GPIO character device's annonymous file descriptors: ioctl(), read(), poll(). While I observed it with the GPIO simulator, it will also happen for any of the GPIO devices that can be hot-unplugged - for instance any HID GPIO expander (e.g. CP2112). This affects both v1 and v2 uAPI. This fixes it partially by checking if gdev->chip is not NULL but it doesn't entirely remedy the situation as we still have a race condition in which another thread can remove the device after the check.

Weaknesses (CWE)

  • CWE-476 — NULL Pointer Dereference

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 5.5CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:HNVD · nvd@nist.gov (Primary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected d7c51b47ac11e66f547b55640405c1c474642d72 < 6d79546622baab843172b52c3af035f83c1b21df ; affected d7c51b47ac11e66f547b55640405c1c474642d72 < 7c755a2d6df511eeb5afba966ac28140f9ea5063 ; affected d7c51b47ac11e66f547b55640405c1c474642d72 < d66f68ac9e7ba46b6b90fbe25155723f2126088a ; affected d7c51b47ac11e66f547b55640405c1c474642d72 < ac6ce3cd7a3e10a2e37b8970bab81b4d33d5cfc3 ; affected d7c51b47ac11e66f547b55640405c1c474642d72 < 533aae7c94dbc2b14301cfd68ae7e0e90f0c8438
Linux · Linuxaffected 4.8 ; unaffected 0 < 4.8 ; unaffected 5.10.163 ≤ 5.10.* ; unaffected 5.15.86 ≤ 5.15.* ; unaffected 6.0.16 ≤ 6.0.* ; unaffected 6.1.2 ≤ 6.1.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD