Cloudanix VulnDB

CVE-2025-68198

None

CVSS

—

EPSS

0.2%

Published

Dec 16, 2025

CISA due date

—

Cloudanix analysis

Schedule a fix SSVC: Track

A Linux kernel bug can cause systems to crash unexpectedly when memory settings for crash diagnostics are changed.

Exploitation
Local Privilege
Attacker needs
High Privilege
Complexity
Low
Impact
Denial Of Service
Component
OS kernel
Class
Memory Corruption
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

Incorrect resource object selection in __crash_shrink_memory causes invalid crashk_res updates when high crashkernel is resized below low reservation, leading to stale iomem entries and NULL pointer dereference on subsequent shrinks.

Why it matters to the business

Linux systems configured with crashkernel high reservations risk kernel panics during memory size adjustments, disrupting crash dump capability and causing unplanned downtime on servers using kexec/kdump.

How an attack unfolds

An attacker with write access to /sys/kernel/kexec_crash_size issues repeated smaller values for a high crashkernel reservation; the second shrink triggers __release_resource on a freed or wrong object, producing a NULL dereference panic.

How to fix it

Upgrade to kernels containing commit f01f9c348d76d40bf104a94449e3ce4057fdefee; for Chainguard src-fingerprint-fips update to 0.19.0-r9 or newer. Restrict write access to /sys/kernel/kexec_crash_size until patched.

How to confirm the fix worked

Confirm the fix commit is present in the running kernel tree; perform repeated crashkernel size reductions via sysfs and verify no NULL dereference oops occurs and /proc/iomem reflects correct reservations.

Typical attack path

  1. Obtain local privileges sufficient to write kexec_crash_size sysfs file
  2. Configure or observe an existing high crashkernel reservation
  3. Write a reduced size value that drops below the low reservation
  4. Repeat the write to force double-shrink path
  5. Trigger kernel NULL pointer dereference in resource release

How to detect it

Search kernel logs for oops traces containing __release_resource, release_resource, __crash_shrink_memory or crash_shrink_memory; correlate with writes to /sys/kernel/kexec_crash_size in auditd or syscall logs.

What your security team should do

  • Apply the referenced kernel commit or package update on all affected systems immediately
  • Limit CAP_SYS_ADMIN or equivalent privileges that allow writing kexec sysfs files
  • Add monitoring for crash_core related oops entries in kernel logs
  • Document crashkernel configurations and test shrink operations in lab environments

The record

In the Linux kernel, the following vulnerability has been resolved: crash: fix crashkernel resource shrink When crashkernel is configured with a high reservation, shrinking its value below the low crashkernel reservation causes two issues: 1. Invalid crashkernel resource objects 2. Kernel crash if crashkernel shrinking is done twice For example, with crashkernel=200M,high, the kernel reserves 200MB of high memory and some default low memory (say 256MB). The reservation appears as: cat /proc/iomem | grep -i crash af000000-beffffff : Crash kernel 433000000-43f7fffff : Crash kernel If crashkernel is then shrunk to 50MB (echo 52428800 > /sys/kernel/kexec_crash_size), /proc/iomem still shows 256MB reserved: af000000-beffffff : Crash kernel Instead, it should show 50MB: af000000-b21fffff : Crash kernel Further shrinking crashkernel to 40MB causes a kernel crash with the following trace (x86): BUG: kernel NULL pointer dereference, address: 0000000000000038 PGD 0 P4D 0 Oops: 0000 [#1] PREEMPT SMP NOPTI <snip...> Call Trace: <TASK> ? __die_body.cold+0x19/0x27 ? page_fault_oops+0x15a/0x2f0 ? search_module_extables+0x19/0x60 ? search_bpf_extables+0x5f/0x80 ? exc_page_fault+0x7e/0x180 ? asm_exc_page_fault+0x26/0x30 ? __release_resource+0xd/0xb0 release_resource+0x26/0x40 __crash_shrink_memory+0xe5/0x110 crash_shrink_memory+0x12a/0x190 kexec_crash_size_store+0x41/0x80 kernfs_fop_write_iter+0x141/0x1f0 vfs_write+0x294/0x460 ksys_write+0x6d/0xf0 <snip...> This happens because __crash_shrink_memory()/kernel/crash_core.c incorrectly updates the crashk_res resource object even when crashk_low_res should be updated. Fix this by ensuring the correct crashkernel resource object is updated when shrinking crashkernel memory.

Affected packages

Ecosystem Package Introduced Fixed
Linux Kernel 6.5.0 6.6.118
Mageia:9 kernel 0 6.6.120-1.mga9
Mageia:9 kernel-linus 0 6.6.120-1.mga9
Mageia:9 kmod-virtualbox 0 7.1.14-14.mga9
Mageia:9 kmod-xtables-addons 0 3.24-88.mga9
openSUSE:Leap 16.0 dtb-aarch64 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-64kb 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-azure 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-default 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-default-base 0 6.12.0-160000.9.1.160000.2.6
openSUSE:Leap 16.0 kernel-docs 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-kvmsmall 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-obs-build 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-obs-qa 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-rt 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-source 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-syms 0 6.12.0-160000.9.1
openSUSE:Leap 16.0 kernel-zfcpdump 0 6.12.0-160000.9.1

Related vulnerabilities