lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025052005-CVE-2025-37929-2511@gregkh>
Date: Tue, 20 May 2025 17:22:25 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-37929: arm64: errata: Add missing sentinels to Spectre-BHB MIDR arrays

From: Greg Kroah-Hartman <gregkh@...nel.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.

The Linux kernel CVE team has assigned CVE-2025-37929 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.15.181 with commit 46e22de65eb45a67a68ddfe9301f79b0c3821ca8 and fixed in 5.15.182 with commit 6266b3509b2c6ebf2f9daf2239ff8eb60c5f5bd3
	Issue introduced in 6.1.135 with commit a53b3599d9bf9375f9033f2aa1fa92714fb1d0f0 and fixed in 6.1.138 with commit 446289b8b36b2ee98dabf6388acbddcc33ed41be
	Issue introduced in 6.6.88 with commit 4117975672c4743cffaf32b6fd018cfacd1b420e and fixed in 6.6.90 with commit 3821cae9bd5a99a42d3d0be1b58e41f072cd4c4c
	Issue introduced in 6.12.24 with commit 9ca4fe357464bbdad0db67985275f2694df8dab5 and fixed in 6.12.28 with commit 090c8714efe1c3c470301cc2f794c1ee2a57746c
	Issue introduced in 6.14.3 with commit e060dbb7393ed7bdfba6b5ea7566f9ef87381cfb and fixed in 6.14.6 with commit 333579202f09e260e8116321df4c55f80a19b160
	Issue introduced in 6.15-rc1 with commit a5951389e58d2e816eed3dbec5877de9327fd881 and fixed in 6.15-rc5 with commit fee4d171451c1ad9e8aaf65fc0ab7d143a33bd72
	Issue introduced in 6.13.12 with commit ed681e90fb244aa883b918c4d8be2614e816c6df

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2025-37929
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	arch/arm64/kernel/proton-pack.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/6266b3509b2c6ebf2f9daf2239ff8eb60c5f5bd3
	https://git.kernel.org/stable/c/446289b8b36b2ee98dabf6388acbddcc33ed41be
	https://git.kernel.org/stable/c/3821cae9bd5a99a42d3d0be1b58e41f072cd4c4c
	https://git.kernel.org/stable/c/090c8714efe1c3c470301cc2f794c1ee2a57746c
	https://git.kernel.org/stable/c/333579202f09e260e8116321df4c55f80a19b160
	https://git.kernel.org/stable/c/fee4d171451c1ad9e8aaf65fc0ab7d143a33bd72

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ