pinctrl: bcm2835: Don't remove an unregistered GPIO chip
- 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
- Fix
- Fixed in 5.10.270, 5.15.221, 5.5, 6.1.188, 6.6.157, and 3 more
- 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: pinctrl: bcm2835: Don't remove an unregistered GPIO chip If the devm_pinctrl_register() function fails, bcm2835_pinctrl_probe() calls gpiochip_remove() before gpiochip_add_data() has registered the GPIO chip. This means that upon failure the gpio_chip.gpiodev is NULL resulting in a null pointer dereference inside the gpiochip_remove() function. Remove the unnecessary function call to gpiochip_remove(). No GPIO cleanup is required because the GPIO chip has not yet been registered. Without this change there is potential for a kernel panic upon registration failure
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From ba696b470839d70c6b8290c1f798bac7fb2a584c · fixed in d428863ca8baa4e9eaf781266ac219b017dcf277; From 79c6d4fa1be1fd0819c50ebb4dee101bbbc4d20e · fixed in f494cfc254cd509d7cbc44b843e0a6602a520a33; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in dd6b1919e41d1260259c4505777be565fb3a7efd; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in 3b978fd0a3092b25561ac26bc1a87149fa981ddc; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in b8535f5c77cc61352d02a0c038a280127a8b8208; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in 68ea6dd23b732081826c36033835468383487864; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in 727f043d699ab0d5d87122c2177f2b45fbe58d35; From 266423e60ea1b953fcc0cd97f3dad85857e434d1 · fixed in 32711f77db0641e57fd96fdc013bf1286b9f2514; From 5.10.89 · fixed in 5.10.270; From 5.15.12 · fixed in 5.15.221; From 5.4.175 · fixed in 5.5
- Linux Linux
5.16
- KernelLinux
fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; fixed in 6.6.157; From 6.2.0 · fixed in 6.12.110; From 6.7.0 · fixed in 6.18.52; From 6.13.0 · fixed in 7.2.6
References 8
git.kernel.org
- stable/c/d428863ca8baa4e9eaf781266ac219b017dcf277
- stable/c/f494cfc254cd509d7cbc44b843e0a6602a520a33
- stable/c/dd6b1919e41d1260259c4505777be565fb3a7efd
- stable/c/3b978fd0a3092b25561ac26bc1a87149fa981ddc
- stable/c/b8535f5c77cc61352d02a0c038a280127a8b8208
- stable/c/68ea6dd23b732081826c36033835468383487864
- stable/c/727f043d699ab0d5d87122c2177f2b45fbe58d35
- stable/c/32711f77db0641e57fd96fdc013bf1286b9f2514