UBUNTU-CVE-2024-50002: Medium severity ubuntu/linux-hwe-edge vulnerability

Published Oct 21, 2024
·
Updated

In the Linux kernel, the following vulnerability has been resolved: staticcall: Handle module init failure correctly in staticcalldelmodule() Module insertion invokes staticcalladdmodule() to initialize the static calls in a module. staticcalladdmodule() invokes staticcallinit(), which allocates a struct staticcallmod to either encapsulate the built-in static call sites of the associated key into it so further modules can be added or to append the module to the module chain. If that allocation fails the function returns with an error code and the module core invokes staticcalldelmodule() to clean up eventually added staticcallmod entries. This works correctly, when all keys used by the module were converted over to a module chain before the failure. If not then staticcalldelmodule() causes a #GP as it blindly assumes that key::mods points to a valid struct staticcallmod. The problem is that key::mods is not a individual struct member of struct staticcallkey, it's part of a union to save space: union { / bit 0: 0 = mods, 1 = sites / unsigned long type; struct staticcallmod mods; struct staticcallsite sites; }; key::sites is a pointer to the list of built-in usage sites of the static call. The type of the pointer is differentiated by bit 0. A mods pointer has the bit clear, the sites pointer has the bit set. As staticcalldelmodule() blidly assumes that the pointer is a valid staticcallmod type, it fails to check for this failure case and dereferences the pointer to the list of built-in call sites, which is obviously bogus. Cure it by checking whether the key has a sites or a mods pointer. If it's a sites pointer then the key is not to be touched. As the sites are walked in the same order as in staticcallinit() the site walk can be terminated because all subsequent sites have not been touched by the init code due to the error exit. If it was converted before the allocation fail, then the inner loop which searches for a module match will find nothing. A fail in the second allocation in staticcallinit() is harmless and does not require special treatment. The first allocation succeeded and converted the key to a module chain. That first entry has mod::mod == NULL and mod::next == NULL, so the inner loop of staticcalldelmodule() will neither find a module match nor a module chain. The next site in the walk was either already converted, but can't match the module, or it will exit the outer loop because it has a staticcallsite pointer and not a staticcallmod pointer.

Affected Software

146 affected componentsFixes available
ubuntu/linux-hwe-edge*
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-oem*
ubuntu/linux-oracle-5.0*
ubuntu/linux-oracle-5.3*
ubuntu/linux-aws-5.15<5.15.0-1073.79~20.04.1
5.15.0-1073.79~20.04.1
ubuntu/linux-azure-5.15<5.15.0-1078.87~20.04.1
5.15.0-1078.87~20.04.1
ubuntu/linux-gcp-5.15<5.15.0-1072.80~20.04.1
5.15.0-1072.80~20.04.1
ubuntu/linux-hwe-5.15<5.15.0-127.137~20.04.1
5.15.0-127.137~20.04.1
ubuntu/linux-ibm-5.15<5.15.0-1066.69~20.04.1
5.15.0-1066.69~20.04.1
ubuntu/linux-intel-iotg-5.15<5.15.0-1071.77~20.04.1
5.15.0-1071.77~20.04.1
ubuntu/linux-lowlatency-hwe-5.15<5.15.0-127.137~20.04.1
5.15.0-127.137~20.04.1
ubuntu/linux-nvidia-tegra-5.15<5.15.0-1032.32~20.04.1
5.15.0-1032.32~20.04.1
ubuntu/linux-oracle-5.15<5.15.0-1071.77~20.04.1
5.15.0-1071.77~20.04.1
ubuntu/linux-riscv-5.15<5.15.0-1069.73~20.04.1
5.15.0-1069.73~20.04.1
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-gkeop-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<5.15.0-127.137
5.15.0-127.137
ubuntu/linux-allwinner-5.19*
ubuntu/linux-aws<5.15.0-1073.79
5.15.0-1073.79
ubuntu/linux-aws-5.19*
ubuntu/linux-aws-6.2*
ubuntu/linux-aws-6.5*
ubuntu/linux-aws-6.8<6.8.0-1023.25~22.04.1
6.8.0-1023.25~22.04.1
ubuntu/linux-azure<5.15.0-1078.87
5.15.0-1078.87
ubuntu/linux-azure-5.19*
ubuntu/linux-azure-6.2*
ubuntu/linux-azure-6.5*
ubuntu/linux-azure-6.8<6.8.0-1025.30~22.04.1
6.8.0-1025.30~22.04.1
ubuntu/linux-azure-fde<5.15.0-1078.87.1
5.15.0-1078.87.1
ubuntu/linux-azure-fde-5.19*
ubuntu/linux-azure-fde-6.2*
ubuntu/linux-gcp<5.15.0-1072.80
5.15.0-1072.80
ubuntu/linux-gcp-5.19*
ubuntu/linux-gcp-6.2*
ubuntu/linux-gcp-6.5*
ubuntu/linux-gcp-6.8<6.8.0-1024.26~22.04.1
6.8.0-1024.26~22.04.1
ubuntu/linux-gke<5.15.0-1070.76
5.15.0-1070.76
ubuntu/linux-gkeop<5.15.0-1056.63
5.15.0-1056.63
ubuntu/linux-hwe-5.19*
ubuntu/linux-hwe-6.2*
ubuntu/linux-hwe-6.5*
ubuntu/linux-hwe-6.8<6.8.0-57.59~22.04.1
6.8.0-57.59~22.04.1
ubuntu/linux-ibm<5.15.0-1066.69
5.15.0-1066.69
ubuntu/linux-ibm-6.8<6.8.0-1023.23~22.04.1
6.8.0-1023.23~22.04.1
ubuntu/linux-intel-iotg<5.15.0-1071.77
5.15.0-1071.77
ubuntu/linux-kvm<5.15.0-1070.75
5.15.0-1070.75
ubuntu/linux-lowlatency<5.15.0-127.137
5.15.0-127.137
ubuntu/linux-lowlatency-hwe-5.19*
ubuntu/linux-lowlatency-hwe-6.2*
ubuntu/linux-lowlatency-hwe-6.5*
ubuntu/linux-lowlatency-hwe-6.8<6.8.0-54.56.1~22.04.1
6.8.0-54.56.1~22.04.1
ubuntu/linux-nvidia<5.15.0-1068.69
5.15.0-1068.69
ubuntu/linux-nvidia-6.2*
ubuntu/linux-nvidia-6.5*
ubuntu/linux-nvidia-6.8<6.8.0-1022.25~22.04.2
6.8.0-1022.25~22.04.2
ubuntu/linux-nvidia-tegra<5.15.0-1032.32
5.15.0-1032.32
ubuntu/linux-nvidia-tegra-igx<5.15.0-1020.20
5.15.0-1020.20
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-1071.77
5.15.0-1071.77
ubuntu/linux-oracle-6.5*
ubuntu/linux-oracle-6.8<6.8.0-1020.21~22.04.1
6.8.0-1020.21~22.04.1
ubuntu/linux-raspi<5.15.0-1066.69
5.15.0-1066.69
ubuntu/linux-realtime*
ubuntu/linux-riscv*
ubuntu/linux-riscv-5.19*
ubuntu/linux-riscv-6.5*
ubuntu/linux-riscv-6.8<6.8.0-53.55.1~22.04.1
6.8.0-53.55.1~22.04.1
ubuntu/linux-starfive-5.19*
ubuntu/linux-starfive-6.2*
ubuntu/linux-starfive-6.5*
ubuntu/linux-xilinx-zynqmp<5.15.0-1039.43
5.15.0-1039.43
ubuntu/linux-bluefield<5.15.0-1057.59
5.15.0-1057.59
ubuntu/linux-intel-iot-realtime<5.15.0-1066.68
5.15.0-1066.68
ubuntu/linux-realtime<5.15.0-1074.82
5.15.0-1074.82
ubuntu/linux-realtime-6.8<6.8.1-1016.17~22.04.1
6.8.1-1016.17~22.04.1
ubuntu/linux-aws-fips*
ubuntu/linux-azure-fips*
ubuntu/linux-fips*
ubuntu/linux-gcp-fips*
ubuntu/linux-aws-fips<5.15.0-1073.79+fips1
5.15.0-1073.79+fips1
ubuntu/linux-azure-fips<5.15.0-1078.87+fips1
5.15.0-1078.87+fips1
ubuntu/linux-fips<5.15.0-127.137+fips1
5.15.0-127.137+fips1
ubuntu/linux-gcp-fips<5.15.0-1072.80+fips1
5.15.0-1072.80+fips1
ubuntu/linux<6.8.0-54.56
6.8.0-54.56
ubuntu/linux-aws<6.8.0-1023.25
6.8.0-1023.25
ubuntu/linux-azure<6.8.0-1025.30
6.8.0-1025.30
ubuntu/linux-azure-6.11<6.11.0-1012.12~24.04.1
6.11.0-1012.12~24.04.1
ubuntu/linux-azure-nvidia<6.8.0-1014.15
6.8.0-1014.15
ubuntu/linux-gcp<6.8.0-1024.26
6.8.0-1024.26
ubuntu/linux-gcp-6.11<6.11.0-1011.11~24.04.1
6.11.0-1011.11~24.04.1
ubuntu/linux-gke<6.8.0-1019.23
6.8.0-1019.23
ubuntu/linux-gkeop<6.8.0-1006.8
6.8.0-1006.8
ubuntu/linux-ibm<6.8.0-1022.22
6.8.0-1022.22
ubuntu/linux-lowlatency<6.8.0-54.56.1
6.8.0-54.56.1
ubuntu/linux-nvidia<6.8.0-1022.25
6.8.0-1022.25
ubuntu/linux-nvidia-6.11<6.11.0-1007.7
6.11.0-1007.7
ubuntu/linux-nvidia-lowlatency<6.8.0-1022.25.2
6.8.0-1022.25.2
ubuntu/linux-oem-6.11<6.11.0-1015.15
6.11.0-1015.15
ubuntu/linux-oem-6.8<6.8.0-1024.24
6.8.0-1024.24
ubuntu/linux-oracle<6.8.0-1020.21
6.8.0-1020.21
ubuntu/linux-raspi<6.8.0-1019.23
6.8.0-1019.23
ubuntu/linux-realtime*
ubuntu/linux-riscv<6.8.0-53.55.1
6.8.0-53.55.1
ubuntu/linux-xilinx<6.8.0-1017.18
6.8.0-1017.18
ubuntu/linux-raspi-realtime<6.8.0-2018.19
6.8.0-2018.19
ubuntu/linux-realtime<6.8.1-1016.17
6.8.1-1016.17
ubuntu/linux-fips<6.8.0-78.78+fips1
6.8.0-78.78+fips1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

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

    Fixed in 5.15.0-1073.79~20.04.1
  2. Upgrade

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

    Fixed in 5.15.0-1078.87~20.04.1
  3. Upgrade

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

    Fixed in 5.15.0-1072.80~20.04.1
  4. Upgrade

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

    Fixed in 5.15.0-127.137~20.04.1
  5. Upgrade

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

    Fixed in 5.15.0-1066.69~20.04.1
  6. Upgrade

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

    Fixed in 5.15.0-1071.77~20.04.1
  7. Upgrade

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

    Fixed in 5.15.0-127.137~20.04.1
  8. Upgrade

    Upgrade ubuntu/linux-nvidia-tegra-5.15 to a version that resolves this vulnerability.

    Fixed in 5.15.0-1032.32~20.04.1
  9. Upgrade

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

    Fixed in 5.15.0-1071.77~20.04.1
  10. Upgrade

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

    Fixed in 5.15.0-1069.73~20.04.1
  11. Upgrade

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

    Fixed in 5.15.0-127.137
  12. Upgrade

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

    Fixed in 5.15.0-1073.79
  13. Upgrade

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

    Fixed in 6.8.0-1023.25~22.04.1
  14. Upgrade

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

    Fixed in 5.15.0-1078.87
  15. Upgrade

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

    Fixed in 6.8.0-1025.30~22.04.1
  16. Upgrade

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

    Fixed in 5.15.0-1078.87.1
  17. Upgrade

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

    Fixed in 5.15.0-1072.80
  18. Upgrade

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

    Fixed in 6.8.0-1024.26~22.04.1
  19. Upgrade

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

    Fixed in 5.15.0-1070.76
  20. Upgrade

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

    Fixed in 5.15.0-1056.63
  21. Upgrade

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

    Fixed in 6.8.0-57.59~22.04.1
  22. Upgrade

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

    Fixed in 5.15.0-1066.69
  23. Upgrade

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

    Fixed in 6.8.0-1023.23~22.04.1
  24. Upgrade

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

    Fixed in 5.15.0-1071.77
  25. Upgrade

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

    Fixed in 5.15.0-1070.75
  26. Upgrade

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

    Fixed in 5.15.0-127.137
  27. Upgrade

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

    Fixed in 6.8.0-54.56.1~22.04.1
  28. Upgrade

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

    Fixed in 5.15.0-1068.69
  29. Upgrade

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

    Fixed in 6.8.0-1022.25~22.04.2
  30. Upgrade

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

    Fixed in 5.15.0-1032.32
  31. Upgrade

    Upgrade ubuntu/linux-nvidia-tegra-igx to a version that resolves this vulnerability.

    Fixed in 5.15.0-1020.20
  32. Upgrade

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

    Fixed in 5.15.0-1071.77
  33. Upgrade

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

    Fixed in 6.8.0-1020.21~22.04.1
  34. Upgrade

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

    Fixed in 5.15.0-1066.69
  35. Upgrade

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

    Fixed in 6.8.0-53.55.1~22.04.1
  36. Upgrade

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

    Fixed in 5.15.0-1039.43
  37. Upgrade

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

    Fixed in 5.15.0-1057.59
  38. Upgrade

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

    Fixed in 5.15.0-1066.68
  39. Upgrade

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

    Fixed in 5.15.0-1074.82
  40. Upgrade

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

    Fixed in 6.8.1-1016.17~22.04.1
  41. Upgrade

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

    Fixed in 5.15.0-1073.79+fips1
  42. Upgrade

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

    Fixed in 5.15.0-1078.87+fips1
  43. Upgrade

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

    Fixed in 5.15.0-127.137+fips1
  44. Upgrade

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

    Fixed in 5.15.0-1072.80+fips1
  45. Upgrade

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

    Fixed in 6.8.0-54.56
  46. Upgrade

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

    Fixed in 6.8.0-1023.25
  47. Upgrade

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

    Fixed in 6.8.0-1025.30
  48. Upgrade

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

    Fixed in 6.11.0-1012.12~24.04.1
  49. Upgrade

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

    Fixed in 6.8.0-1014.15
  50. Upgrade

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

    Fixed in 6.8.0-1024.26
  51. Upgrade

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

    Fixed in 6.11.0-1011.11~24.04.1
  52. Upgrade

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

    Fixed in 6.8.0-1019.23
  53. Upgrade

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

    Fixed in 6.8.0-1006.8
  54. Upgrade

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

    Fixed in 6.8.0-1022.22
  55. Upgrade

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

    Fixed in 6.8.0-54.56.1
  56. Upgrade

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

    Fixed in 6.8.0-1022.25
  57. Upgrade

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

    Fixed in 6.11.0-1007.7
  58. Upgrade

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

    Fixed in 6.8.0-1022.25.2
  59. Upgrade

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

    Fixed in 6.11.0-1015.15
  60. Upgrade

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

    Fixed in 6.8.0-1024.24
  61. Upgrade

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

    Fixed in 6.8.0-1020.21
  62. Upgrade

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

    Fixed in 6.8.0-1019.23
  63. Upgrade

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

    Fixed in 6.8.0-53.55.1
  64. Upgrade

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

    Fixed in 6.8.0-1017.18
  65. Upgrade

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

    Fixed in 6.8.0-2018.19
  66. Upgrade

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

    Fixed in 6.8.1-1016.17
  67. Upgrade

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

    Fixed in 6.8.0-78.78+fips1
  68. Compensating control

    In static_call_del_module(), check whether the static_call_key union contains a sites pointer or a mods pointer before dereferencing it; if it is a sites pointer, do not touch the key and terminate the site walk because subsequent sites were not initialized.

Event History

Oct 21, 2024
CVE Published
via OSV·06:15 PM
Data Sourced
via OSV·06:15 PM
DescriptionSeverityAffected Software

Frequently Asked Questions

1

Who can exploit this issue?

The CVSS vector indicates local access and low privileges are required. No user interaction is required.

2

What conditions are needed to trigger the failure?

The issue occurs during module insertion when static_call_add_module() fails an allocation after only some static-call keys used by the module have been converted to module chains. Subsequent cleanup in static_call_del_module() can then cause a general-protection fault.

3

What is the likely impact?

The provided severity vector indicates no confidentiality or integrity impact, but a high availability impact. The described fault is a kernel general-protection fault during failed module initialization cleanup.

4

Which Ubuntu kernel packages are listed as affected?

The listed software includes ubuntu/linux, ubuntu/linux-realtime, ubuntu/linux-azure, ubuntu/linux-gcp, ubuntu/linux-gke, ubuntu/linux-riscv, ubuntu/linux-fips, and ubuntu/linux-azure-fde.

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