Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-68185

CVE-2026-68185: Linux Kernel LoongArch DoS Vulnerability

CVE-2026-68185 is a denial of service flaw in the Linux kernel affecting LoongArch architecture that can prevent system boot. This article covers the technical details, affected versions, impact, and mitigation.

Published:

CVE-2026-68185 Overview

CVE-2026-68185 is a Linux kernel vulnerability affecting the LoongArch architecture. The flaw involves incorrect initialization ordering between jump_label_init() and parse_early_param() during kernel boot. When both CONFIG_MEM_ALLOC_PROFILING=y and CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT=y are enabled, passing the boot parameter sysctl.vm.mem_profiling=0 causes the kernel to fail to boot. The root cause is that early parameter handlers may modify static keys via static_branch_enable/disable() before jump labels are initialized. The patch reorders jump_label_init() to run before parse_early_param(), matching behavior on other architectures.

Critical Impact

A Linux kernel built for LoongArch fails to boot when memory profiling is disabled via early boot parameter, producing a denial-of-service condition on affected systems.

Affected Products

  • Linux kernel on LoongArch architecture
  • Kernel builds with CONFIG_MEM_ALLOC_PROFILING=y and CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT=y
  • Systems using the sysctl.vm.mem_profiling=0 boot parameter

Discovery Timeline

  • 2026-08-10 - CVE-2026-68185 published to NVD
  • 2026-08-10 - Last updated in NVD database

Technical Details for CVE-2026-68185

Vulnerability Analysis

The vulnerability resides in the LoongArch boot sequence within the Linux kernel. During early initialization, the kernel calls parse_early_param() to process boot command line arguments. Certain early parameter handlers, including the memory allocation profiling handler, invoke static_branch_enable() or static_branch_disable() to toggle static keys. Static keys rely on the jump label infrastructure being initialized via jump_label_init().

On LoongArch, jump_label_init() was invoked after parse_early_param(). When a user passed sysctl.vm.mem_profiling=0 to disable memory profiling that had been compiled in as enabled by default, the handler attempted to manipulate a static key before its underlying jump label table was ready. The result was a boot-time failure preventing the system from starting.

The fix moves jump_label_init() ahead of parse_early_param() in the LoongArch architecture setup path, aligning the ordering with x86, arm64, and other supported architectures.

Root Cause

The root cause is an initialization ordering defect in LoongArch architecture setup code. Static branch APIs assume jump label infrastructure is available, but the LoongArch boot sequence violated this invariant by calling parse_early_param() first.

Attack Vector

This is a local boot-time issue and not a remotely exploitable flaw. Impact is limited to system availability. An operator or automation system supplying the affected kernel command line will encounter a kernel that fails to complete boot.

No exploitation code is applicable. See the upstream fix commits referenced under Kernel Git Commit 881e9f3c and Kernel Git Commit 4b40e590 for the corrective changes.

Detection Methods for CVE-2026-68185

Indicators of Compromise

  • LoongArch systems failing to complete kernel boot when sysctl.vm.mem_profiling=0 is present in the kernel command line
  • Boot logs showing early panic or hang during parse_early_param() processing on affected kernels
  • Systems running LoongArch kernel versions built with memory allocation profiling enabled by default

Detection Strategies

  • Inventory LoongArch hosts and identify kernel builds that set CONFIG_MEM_ALLOC_PROFILING and CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT to y
  • Audit bootloader configuration files such as GRUB entries for the sysctl.vm.mem_profiling=0 parameter
  • Compare running kernel commit hashes against the fixed commits 881e9f3c4e11, 4b40e590efb3, 38b025fcdc45, and ea68d444a658

Monitoring Recommendations

  • Track kernel version and configuration drift across LoongArch fleets through configuration management tooling
  • Monitor boot success rates and console logs for repeatable early-boot failures after kernel updates
  • Alert on unexpected kernel command-line changes applied through provisioning or update pipelines

How to Mitigate CVE-2026-68185

Immediate Actions Required

  • Apply the upstream Linux kernel patch that reorders jump_label_init() before parse_early_param() on LoongArch
  • Remove the sysctl.vm.mem_profiling=0 boot parameter from LoongArch systems running unpatched kernels
  • Rebuild affected kernels without CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT=y if patching is not immediately feasible

Patch Information

The fix has been merged upstream across multiple stable branches. Review the commits at Kernel Git Commit 881e9f3c, Kernel Git Commit 4b40e590, Kernel Git Commit 38b025fc, and Kernel Git Commit ea68d444. Apply the corresponding stable release for your kernel branch.

Workarounds

  • Avoid enabling CONFIG_MEM_ALLOC_PROFILING_ENABLED_BY_DEFAULT at build time on LoongArch until the patch is applied
  • Do not pass sysctl.vm.mem_profiling=0 on the kernel command line for affected builds
  • Toggle memory profiling at runtime via sysctl after boot rather than through the early boot parameter

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.