CVE-2022-48789: nvme-tcp: fix possible use-after-free in transport error_recovery work

Published Jul 16, 2024
·
Updated

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

nvme-tcp: fix possible use-after-free in transport errorrecovery work

While nvmetcpsubmitasynceventwork is checking the ctrl and queue state before preparing the AER command and scheduling iowork, in order to fully prevent a race where this check is not reliable the error recovery work must flush asynceventwork before continuing to destroy the admin queue after setting the ctrl state to RESETTING such that there is no race .submitasyncevent and the error recovery handler itself changing the ctrl state.

Affected Software

105 affected componentsFixes available
Linux Linux kernel<5.4.181
Linux Linux kernel>=5.5<5.10.102
Linux Linux kernel>=5.11<5.15.25
Linux Linux kernel>=5.16<5.16.11
debian/linux<5.16.11-1
5.16.11-1
debian/linux<5.16.11-1
5.16.11-1
debian/linux<5.16.11-1
5.16.11-1
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1
ubuntu/linux-hwe-edge*
ubuntu/linux-aws-5.4<5.4.0-1075.80~18.04.1
5.4.0-1075.80~18.04.1
ubuntu/linux-azure-5.4<5.4.0-1078.81~18.04.1
5.4.0-1078.81~18.04.1
ubuntu/linux-gcp-5.4<5.4.0-1073.78~18.04.1
5.4.0-1073.78~18.04.1
ubuntu/linux-hwe-5.4<5.4.0-110.124~18.04.1
5.4.0-110.124~18.04.1
ubuntu/linux-ibm-5.4<5.4.0-1021.23~18.04.1
5.4.0-1021.23~18.04.1
ubuntu/linux-oracle-5.4<5.4.0-1071.77~18.04.1
5.4.0-1071.77~18.04.1
ubuntu/linux-raspi-5.4<5.4.0-1060.68~18.04.1
5.4.0-1060.68~18.04.1
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-azure*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux<5.4.0-110.124
5.4.0-110.124
ubuntu/linux-aws<5.4.0-1073.78
5.4.0-1073.78
ubuntu/linux-azure<5.4.0-1078.81
5.4.0-1078.81
ubuntu/linux-bluefield<5.4.0-1040.44
5.4.0-1040.44
ubuntu/linux-gcp<5.4.0-1073.78
5.4.0-1073.78
ubuntu/linux-gkeop<5.4.0-1040.41
5.4.0-1040.41
ubuntu/linux-ibm<5.4.0-1021.23
5.4.0-1021.23
ubuntu/linux-intel-iotg-5.15<5.15.0-1008.11~20.04.1
5.15.0-1008.11~20.04.1
ubuntu/linux-iot<5.4.0-1004.6
5.4.0-1004.6
ubuntu/linux-kvm<5.4.0-1063.66
5.4.0-1063.66
ubuntu/linux-oracle<5.4.0-1071.77
5.4.0-1071.77
ubuntu/linux-raspi<5.4.0-1060.68
5.4.0-1060.68
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-gcp-5.11*
ubuntu/linux-gcp-5.13*
ubuntu/linux-gcp-5.8*
ubuntu/linux-gke*
ubuntu/linux-gke-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-intel-5.13*
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-aws-fips<5.4.0-1073.78+fips1
5.4.0-1073.78+fips1
ubuntu/linux-azure-fips<5.4.0-1078.81+fips1
5.4.0-1078.81+fips1
ubuntu/linux-fips<5.4.0-1049.55
5.4.0-1049.55
ubuntu/linux-gcp-fips<5.4.0-1073.78+fips1
5.4.0-1073.78+fips1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-nvidia-6.2*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-raspi-realtime*
ubuntu/linux-vmware*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 5.16.11-1
  2. Upgrade

    Upgrade debian/linux to a version that resolves this vulnerability.

    Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.115-2Fixed in 7.2.12-1Fixed in 7.2.15-1
  3. Upgrade

    Upgrade ubuntu/linux-aws-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1075.80~18.04.1
  4. Upgrade

    Upgrade ubuntu/linux-azure-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1078.81~18.04.1
  5. Upgrade

    Upgrade ubuntu/linux-gcp-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.78~18.04.1
  6. Upgrade

    Upgrade ubuntu/linux-hwe-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-110.124~18.04.1
  7. Upgrade

    Upgrade ubuntu/linux-ibm-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1021.23~18.04.1
  8. Upgrade

    Upgrade ubuntu/linux-oracle-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1071.77~18.04.1
  9. Upgrade

    Upgrade ubuntu/linux-raspi-5.4 to a version that resolves this vulnerability.

    Fixed in 5.4.0-1060.68~18.04.1
  10. Upgrade

    Upgrade ubuntu/linux to a version that resolves this vulnerability.

    Fixed in 5.4.0-110.124
  11. Upgrade

    Upgrade ubuntu/linux-aws to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.78
  12. Upgrade

    Upgrade ubuntu/linux-azure to a version that resolves this vulnerability.

    Fixed in 5.4.0-1078.81
  13. Upgrade

    Upgrade ubuntu/linux-bluefield to a version that resolves this vulnerability.

    Fixed in 5.4.0-1040.44
  14. Upgrade

    Upgrade ubuntu/linux-gcp to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.78
  15. Upgrade

    Upgrade ubuntu/linux-gkeop to a version that resolves this vulnerability.

    Fixed in 5.4.0-1040.41
  16. Upgrade

    Upgrade ubuntu/linux-ibm to a version that resolves this vulnerability.

    Fixed in 5.4.0-1021.23
  17. Upgrade

    Upgrade ubuntu/linux-intel-iotg-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1008.11~20.04.1
  18. Upgrade

    Upgrade ubuntu/linux-iot to a version that resolves this vulnerability.

    Fixed in 5.4.0-1004.6
  19. Upgrade

    Upgrade ubuntu/linux-kvm to a version that resolves this vulnerability.

    Fixed in 5.4.0-1063.66
  20. Upgrade

    Upgrade ubuntu/linux-oracle to a version that resolves this vulnerability.

    Fixed in 5.4.0-1071.77
  21. Upgrade

    Upgrade ubuntu/linux-raspi to a version that resolves this vulnerability.

    Fixed in 5.4.0-1060.68
  22. Upgrade

    Upgrade ubuntu/linux-aws-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.78+fips1
  23. Upgrade

    Upgrade ubuntu/linux-azure-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1078.81+fips1
  24. Upgrade

    Upgrade ubuntu/linux-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1049.55
  25. Upgrade

    Upgrade ubuntu/linux-gcp-fips to a version that resolves this vulnerability.

    Fixed in 5.4.0-1073.78+fips1
  26. Compensating control

    In nvme-tcp error recovery, set the controller state to RESETTING, flush async_event_work, and only then destroy the admin queue to prevent a race with .submit_async_event and avoid use-after-free.

Event History

Jul 16, 2024
CVE Published
via MITRE·11:43 AM
Data Sourced
via MITRE·11:43 AM
DescriptionSeverity
Data Sourced
via OSV·12:15 PM
DescriptionSeverityAffected Software
Data Sourced
via NVD·12:15 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2022-48789?

The severity of CVE-2022-48789 is classified as a moderate vulnerability due to a potential use-after-free condition in the Linux kernel.

2

How do I fix CVE-2022-48789?

To fix CVE-2022-48789, upgrade your Linux kernel to a version that is later than 5.16.11 or one of the other patched versions mentioned in the security advisories.

3

Which software versions are affected by CVE-2022-48789?

CVE-2022-48789 affects various Linux kernel versions, specifically those prior to 5.4.181, between 5.5 and 5.10.102, between 5.11 and 5.15.25, and between 5.16 and 5.16.11.

4

Can CVE-2022-48789 be exploited remotely?

Yes, due to its nature, CVE-2022-48789 could potentially be exploited remotely under certain conditions.

5

What component of the Linux kernel does CVE-2022-48789 impact?

CVE-2022-48789 impacts the NVMe over TCP transport feature within the Linux kernel.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203