CVE-2025-37929

arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays

State
Published
Severity
Not scored
Published
May 20, 2025
Updated
May 23, 2026
Reserved
Apr 16, 2025

Read the record on cve.org

Description

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

arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays

Commit a5951389e58d ("arm64: errata: Add newer ARM cores to the spectre_bhb_loop_affected() lists") added some additional CPUs to the Spectre-BHB workaround, including some new arrays for designs that require new 'k' values for the workaround to be effective.

Unfortunately, the new arrays omitted the sentinel entry and so is_midr_in_range_list() will walk off the end when it doesn't find a match. With UBSAN enabled, this leads to a crash during boot when is_midr_in_range_list() is inlined (which was more common prior to c8c2647e69be ("arm64: Make  _midr_in_range_list() an exported function")):

| Internal error: aarch64 BRK: 00000000f2000001 [#1] PREEMPT SMP | pstate: 804000c5 (Nzcv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--) | pc : spectre_bhb_loop_affected+0x28/0x30 | lr : is_spectre_bhb_affected+0x170/0x190 | [...] | Call trace: | spectre_bhb_loop_affected+0x28/0x30 | update_cpu_capabilities+0xc0/0x184 | init_cpu_features+0x188/0x1a4 | cpuinfo_store_boot_cpu+0x4c/0x60 | smp_prepare_boot_cpu+0x38/0x54 | start_kernel+0x8c/0x478 | __primary_switched+0xc8/0xd4 | Code: 6b09011f 54000061 52801080 d65f03c0 (d4200020) | ---[ end trace 0000000000000000 ]--- | Kernel panic - not syncing: aarch64 BRK: Fatal exception

Add the missing sentinel entries.

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 4a2f3d8260a996bc43dcc1ce49ac594db54f4b3e to before e68da90ac00d8b681561aeb8f5d6c47af3a04861Affected
  • 46e22de65eb45a67a68ddfe9301f79b0c3821ca8 to before 6266b3509b2c6ebf2f9daf2239ff8eb60c5f5bd3Affected
  • a53b3599d9bf9375f9033f2aa1fa92714fb1d0f0 to before 446289b8b36b2ee98dabf6388acbddcc33ed41beAffected
  • 4117975672c4743cffaf32b6fd018cfacd1b420e to before 3821cae9bd5a99a42d3d0be1b58e41f072cd4c4cAffected
  • 9ca4fe357464bbdad0db67985275f2694df8dab5 to before 090c8714efe1c3c470301cc2f794c1ee2a57746cAffected
  • e060dbb7393ed7bdfba6b5ea7566f9ef87381cfb to before 333579202f09e260e8116321df4c55f80a19b160Affected
  • a5951389e58d2e816eed3dbec5877de9327fd881 to before fee4d171451c1ad9e8aaf65fc0ab7d143a33bd72Affected
  • ed681e90fb244aa883b918c4d8be2614e816c6dfAffected
  • 6.13.12 to before 6.14Affected
LinuxLinux
  • 5.15.181 to before 5.15.182Affected
  • 6.1.135 to before 6.1.138Affected
  • 6.6.88 to before 6.6.90Affected
  • 6.12.24 to before 6.12.28Affected
  • 6.14.3 to before 6.14.6Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.