Skip to main content
← All vulnerabilities
CVE-2023-53484

lib: cpu_rmap: Avoid use after free on rmap->obj array entries

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.14.316, 4.19.284, 5.4.244, 5.10.181, 5.15.113, and 2 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

Summary

In the Linux kernel, the following vulnerability has been resolved: lib: cpu_rmap: Avoid use after free on rmap->obj array entries When calling irq_set_affinity_notifier() with NULL at the notify argument, it will cause freeing of the glue pointer in the corresponding array entry but will leave the pointer in the array. A subsequent call to free_irq_cpu_rmap() will try to free this entry again leading to possible use after free. Fix that by setting NULL to the array entry and checking that we have non-zero at the array entry when iterating over the array in free_irq_cpu_rmap(). The current code does not suffer from this since there are no cases where irq_set_affinity_notifier(irq, NULL) (note the NULL passed for the notify arg) is called, followed by a call to free_irq_cpu_rmap() so we don't hit and issue. Subsequent patches in this series excersize this flow, hence the required fix.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in 981f339d2905b6a92ef59358158b326493aecac5; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in d1308bd0b24cb1d78fa2747d5fa3e055cc628a48; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in cc2d2b3dbfb0ba57bc027fb7e1121250c50e4000; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in f748e15253833b771acbede14ea98f50831ac289; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in c6ed54dd90698dc0744d669524cc1c122ded8a16; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in c9115f49cf260d24d8b5f2d9a4b63cb31a627bb4; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in 67bca5f1d644f4e79b694abd8052a177de81c37f; From 896f97ea95c1d29c0520ee0766b66b7f64cb967c · fixed in 4e0473f1060aa49621d40a113afde24818101d37

  • Linux Linux

    3.8

  • KernelLinux

    From 3.8.0 · fixed in 4.14.316; From 4.15.0 · fixed in 4.19.284; From 4.20.0 · fixed in 5.4.244; From 5.5.0 · fixed in 5.10.181; From 5.11.0 · fixed in 5.15.113; From 5.16.0 · fixed in 6.1.30; From 6.2.0 · fixed in 6.3.4

References 8

git.kernel.org