CVE-2022-50210 in Linuxinfo

Summary

by MITRE • 06/18/2025

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

MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK

When CONFIG_CPUMASK_OFFSTACK and CONFIG_DEBUG_PER_CPU_MAPS is selected, cpu_max_bits_warn() generates a runtime warning similar as below while we show /proc/cpuinfo. Fix this by using nr_cpu_ids (the runtime limit) instead of NR_CPUS to iterate CPUs.

[ 3.052463] ------------[ cut here ]------------
[ 3.059679] WARNING: CPU: 3 PID: 1 at include/linux/cpumask.h:108 show_cpuinfo+0x5e8/0x5f0
[ 3.070072] Modules linked in: efivarfs autofs4
[ 3.076257] CPU: 0 PID: 1 Comm: systemd Not tainted 5.19-rc5+ #1052
[ 3.084034] Hardware name: Loongson Loongson-3A4000-7A1000-1w-V0.1-CRB/Loongson-LS3A4000-7A1000-1w-EVB-V1.21, BIOS Loongson-UDK2018-V2.0.04082-beta7 04/27
[ 3.099465] Stack : 9000000100157b08 9000000000f18530 9000000000cf846c 9000000100154000
[ 3.109127] 9000000100157a50 0000000000000000 9000000100157a58 9000000000ef7430
[ 3.118774] 90000001001578e8 0000000000000040 0000000000000020 ffffffffffffffff
[ 3.128412] 0000000000aaaaaa 1ab25f00eec96a37 900000010021de80 900000000101c890
[ 3.138056] 0000000000000000 0000000000000000 0000000000000000 0000000000aaaaaa
[ 3.147711] ffff8000339dc220 0000000000000001 0000000006ab4000 0000000000000000
[ 3.157364] 900000000101c998 0000000000000004 9000000000ef7430 0000000000000000
[ 3.167012] 0000000000000009 000000000000006c 0000000000000000 0000000000000000
[ 3.176641] 9000000000d3de08 9000000001639390 90000000002086d8 00007ffff0080286
[ 3.186260] 00000000000000b0 0000000000000004 0000000000000000 0000000000071c1c
[ 3.195868] ...
[ 3.199917] Call Trace:
[ 3.203941] [<98000000002086d8>] show_stack+0x38/0x14c
[ 3.210666] [<9800000000cf846c>] dump_stack_lvl+0x60/0x88
[ 3.217625] [<980000000023d268>] __warn+0xd0/0x100
[ 3.223958] [<9800000000cf3c90>] warn_slowpath_fmt+0x7c/0xcc
[ 3.231150] [<9800000000210220>] show_cpuinfo+0x5e8/0x5f0
[ 3.238080] [<98000000004f578c>] seq_read_iter+0x354/0x4b4
[ 3.245098] [<98000000004c2e90>] new_sync_read+0x17c/0x1c4
[ 3.252114] [<98000000004c5174>] vfs_read+0x138/0x1d0
[ 3.258694] [<98000000004c55f8>] ksys_read+0x70/0x100
[ 3.265265] [<9800000000cfde9c>] do_syscall+0x7c/0x94
[ 3.271820] [<9800000000202fe4>] handle_syscall+0xc4/0x160
[ 3.281824] ---[ end trace 8b484262b4b8c24c ]---

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 06/07/2026

The vulnerability CVE-2022-50210 addresses a runtime warning in the Linux kernel specifically affecting MIPS architecture systems where certain configuration options are enabled. This issue occurs when CONFIG_CPUMASK_OFFSTACK and CONFIG_DEBUG_PER_CPU_MAPS are simultaneously activated, leading to erroneous behavior during the display of /proc/cpuinfo. The warning manifests as a kernel oops during the cpu_max_bits_warn() function execution, which is triggered when reading CPU information from the proc filesystem. This condition creates a false positive warning that can mislead administrators and complicate system diagnostics, particularly in embedded or specialized hardware environments using Loongson processors.

The technical flaw stems from an incorrect iteration approach within the cpuinfo display logic. The kernel uses NR_CPUS instead of nr_cpu_ids when looping through CPU identifiers, causing the system to reference compile-time CPU limits rather than runtime CPU capacity. This discrepancy becomes problematic when the actual number of online CPUs differs from the compile-time maximum, particularly in systems where dynamic CPU allocation or hot-plugging is supported. The use of NR_CPUS assumes a fixed maximum number of CPUs, while nr_cpu_ids represents the actual runtime limit, making the former approach potentially unsafe when CONFIG_CPUMASK_OFFSTACK is enabled, which dynamically manages CPU masks.

This vulnerability has operational implications primarily for systems running MIPS-based kernels with specific debugging configurations. The warning, while not causing system crashes or security breaches, introduces noise into system logs and can mask genuine issues during troubleshooting. For embedded systems or specialized hardware platforms like those utilizing Loongson processors, this warning can complicate monitoring and maintenance processes. The issue affects systems where /proc/cpuinfo is frequently accessed, potentially during boot processes, system diagnostics, or automated monitoring scripts that parse CPU information.

The fix implemented addresses this by replacing NR_CPUS with nr_cpu_ids in the cpuinfo display logic, ensuring that the iteration respects runtime CPU limits rather than compile-time assumptions. This change aligns with best practices for dynamic system resource management and prevents false warnings in scenarios where CPU topology may vary from the static configuration. The solution follows established kernel development principles and maintains compatibility with existing functionality while eliminating the spurious warning messages. This remediation specifically targets the MIPS architecture and is consistent with the kernel's approach to handling per-CPU data structures under dynamic configuration conditions.

From a cybersecurity perspective, this vulnerability represents a low-severity issue that primarily affects system observability rather than security posture. It does not introduce new attack vectors or privilege escalation opportunities, but rather creates misleading diagnostic information. The vulnerability aligns with CWE-691, which covers inadequate control of a resource through a potentially large loop, and could be mapped to ATT&CK technique T1082 for system information discovery. The fix ensures that kernel debugging and diagnostic mechanisms operate correctly under dynamic CPU configurations, maintaining the integrity of system monitoring tools and preventing confusion during routine system administration tasks.

Responsible

Linux

Reservation

06/18/2025

Disclosure

06/18/2025

Moderation

accepted

CPE

ready

EPSS

0.00189

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!