CVE-2022-49149: rxrpc: Fix call timer start racing with call destruction

Published Feb 26, 2025
·
Updated

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

Affected Software

158 affected componentsFixes available
Linux Linux kernel
Linux Linux kernel>=4.15.1<5.10.110
Linux Linux kernel>=5.11<5.15.33
Linux Linux kernel>=5.16<5.16.19
Linux Linux kernel>=5.17<5.17.2
Linux Linux kernel=4.15
Linux Linux kernel=4.15-rc2
Linux Linux kernel=4.15-rc3
Linux Linux kernel=4.15-rc4
Linux Linux kernel=4.15-rc5
Linux Linux kernel=4.15-rc6
Linux Linux kernel=4.15-rc7
Linux Linux kernel=4.15-rc8
Linux Linux kernel=4.15-rc9
debian/linux<5.17.3-1
5.17.3-1
debian/linux<5.17.3-1
5.17.3-1
debian/linux<5.17.3-1
5.17.3-1
debian/linux
6.1.176-16.1.190-16.12.107-16.12.115-27.2.12-17.2.15-1
ubuntu/linux-azure*
ubuntu/linux-aws-hwe*
ubuntu/linux-azure*
ubuntu/linux-gcp*
ubuntu/linux-hwe*
ubuntu/linux-hwe-edge*
ubuntu/linux-oracle*
ubuntu/linux*
ubuntu/linux-aws*
ubuntu/linux-aws-5.0*
ubuntu/linux-aws-5.3*
ubuntu/linux-aws-5.4<5.4.0-1165.176~18.04.1
5.4.0-1165.176~18.04.1
ubuntu/linux-azure*
ubuntu/linux-azure-4.15*
ubuntu/linux-azure-5.3*
ubuntu/linux-azure-5.4<5.4.0-1170.176~18.04.1
5.4.0-1170.176~18.04.1
ubuntu/linux-azure-edge*
ubuntu/linux-gcp*
ubuntu/linux-gcp-4.15*
ubuntu/linux-gcp-5.3*
ubuntu/linux-gcp-5.4<5.4.0-1168.178~18.04.1
5.4.0-1168.178~18.04.1
ubuntu/linux-gke-4.15*
ubuntu/linux-gke-5.4*
ubuntu/linux-gkeop-5.4*
ubuntu/linux-hwe*
ubuntu/linux-hwe-5.4<5.4.0-242.262~18.04.1
5.4.0-242.262~18.04.1
ubuntu/linux-hwe-edge*
ubuntu/linux-ibm-5.4<5.4.0-1111.116~18.04.1
5.4.0-1111.116~18.04.1
ubuntu/linux-kvm*
ubuntu/linux-oem*
ubuntu/linux-oracle*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-oracle-5.4<5.4.0-1163.173~18.04.1
5.4.0-1163.173~18.04.1
ubuntu/linux-raspi-5.4<5.4.0-1148.161~18.04.1
5.4.0-1148.161~18.04.1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-azure-5.15<5.15.0-1008.9~20.04.1
5.15.0-1008.9~20.04.1
ubuntu/linux-hwe-5.15<5.15.0-41.44~20.04.1
5.15.0-41.44~20.04.1
ubuntu/linux-intel-iotg-5.15<5.15.0-1008.11~20.04.1
5.15.0-1008.11~20.04.1
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-42.45~20.04.1
5.15.0-42.45~20.04.1
ubuntu/linux<5.4.0-242.262
5.4.0-242.262
ubuntu/linux-aws<5.4.0-1165.176
5.4.0-1165.176
ubuntu/linux-aws-5.11*
ubuntu/linux-aws-5.13*
ubuntu/linux-aws-5.8*
ubuntu/linux-azure<5.4.0-1170.176
5.4.0-1170.176
ubuntu/linux-azure-5.11*
ubuntu/linux-azure-5.13*
ubuntu/linux-azure-5.8*
ubuntu/linux-azure-fde*
ubuntu/linux-bluefield<5.4.0-1125.132
5.4.0-1125.132
ubuntu/linux-gcp<5.4.0-1168.178
5.4.0-1168.178
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-gkeop*
ubuntu/linux-gkeop-5.15*
ubuntu/linux-hwe-5.11*
ubuntu/linux-hwe-5.13*
ubuntu/linux-hwe-5.8*
ubuntu/linux-ibm<5.4.0-1111.116
5.4.0-1111.116
ubuntu/linux-intel-5.13*
ubuntu/linux-iot<5.4.0-1069.72
5.4.0-1069.72
ubuntu/linux-kvm<5.4.0-1152.161
5.4.0-1152.161
ubuntu/linux-oem-5.10*
ubuntu/linux-oem-5.13*
ubuntu/linux-oem-5.6*
ubuntu/linux-oracle<5.4.0-1163.173
5.4.0-1163.173
ubuntu/linux-oracle-5.11*
ubuntu/linux-oracle-5.13*
ubuntu/linux-oracle-5.8*
ubuntu/linux-raspi<5.4.0-1148.161
5.4.0-1148.161
ubuntu/linux-raspi2*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.11*
ubuntu/linux-riscv-5.8*
ubuntu/linux-xilinx-zynqmp<5.4.0-1083.87
5.4.0-1083.87
ubuntu/linux-aws-fips<5.4.0-1165.176+fips1
5.4.0-1165.176+fips1
ubuntu/linux-azure-fips<5.4.0-1170.176+fips1
5.4.0-1170.176+fips1
ubuntu/linux-fips<5.4.0-1139.149
5.4.0-1139.149
ubuntu/linux-gcp-fips<5.4.0-1168.178+fips1
5.4.0-1168.178+fips1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux<5.15.0-37.39
5.15.0-37.39
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws<5.15.0-1011.14
5.15.0-1011.14
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-azure<5.15.0-1010.12
5.15.0-1010.12
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp<5.15.0-1008.12
5.15.0-1008.12
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gke<5.15.0-1008.10
5.15.0-1008.10
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-ibm<5.15.0-1007.8
5.15.0-1007.8
ubuntu/linux-intel-iot-realtime*
ubuntu/linux-intel-iotg<5.15.0-1008.11
5.15.0-1008.11
ubuntu/linux-kvm<5.15.0-1010.11
5.15.0-1010.11
ubuntu/linux-lowlatency<5.15.0-37.39
5.15.0-37.39
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-nvidia-6.5*
ubuntu/linux-oem-5.17*
ubuntu/linux-oem-6.0*
ubuntu/linux-oem-6.1*
ubuntu/linux-oem-6.5*
ubuntu/linux-oracle<5.15.0-1009.12
5.15.0-1009.12
ubuntu/linux-oracle-6.5*
ubuntu/linux-raspi<5.15.0-1011.13
5.15.0-1011.13
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-starfive-6.5*
ubuntu/linux-realtime<5.15.0-1014.14
5.15.0-1014.14
ubuntu/linux-raspi-realtime*

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

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

    Fixed in 6.1.176-1Fixed in 6.1.187-1Fixed in 6.12.107-1Fixed in 6.12.111-1Fixed in 7.2.9-1Fixed in 7.2.10-1
  2. Compensating control

    Before starting the rxrpc_call timer, try to take a reference on the rxrpc_call struct and pass the reference to the timer; if the timer or work item is already queued or running, discard the extra reference. The timer completion routine should pass the reference to the call's work item when queueing it, and discard the reference if the timer is already running.

Event History

Feb 26, 2025
CVE Published
via MITRE·01:55 AM
Data Sourced
via MITRE·01:55 AM
DescriptionSeverity
Data Sourced
via OSV·07:00 AM
DescriptionSeverityAffected Software
Data Sourced
via NVD·07:00 AM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What conditions are required for this issue to occur?

The race requires an incoming packet addressed to an RXRPC call while that call is being destroyed. Packet input runs in softirq context with only an RCU read lock, allowing a stopped call timer to be restarted concurrently with teardown.

2

What is the likely impact if the race is triggered?

The timer dispatch code may oops if the timer is restarted and later executes after its associated state has been deallocated. This can cause a kernel crash.

3

How does the fix prevent the race?

The fix attempts to acquire a reference to the rxrpc_call before starting its timer and transfers that reference through the timer and queued work item. References are discarded when the timer or work is already queued or running, preventing the call from being freed while those operations still use it.

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