
# Руководство по обновлению ядра Linux — исправление CVE-2026-64561
Дисклеймер: В этом материале описан лишь процесс устранения проблемы в моём серверном окружении; это не профессиональный анализ безопасности. Буду рад исправлениям, если найдёте неточности.
В этом документе описаны два способа обновления ядра Linux для устранения CVE-2026-64561: установка RPM из ELRepo (рекомендуется) и сборка из исходников.
| Пункт | Описание |
|---|---|
| Идентификатор CVE | CVE-2026-64561 |
| Компонент с уязвимостью | Linux Kernel KVM/x86 |
| Способ устранения | Обновление ядра Linux (RPM из ELRepo или сборка из исходников) |
В этом руководстве представлены два способа обновления; выбирайте в зависимости от окружения:
Подходит для сред с доступом к репозиторию ELRepo; компиляция не требуется, всё просто.
Ссылка на оригинал Метода 1: 魔方云商家可将CentOS系宿主机内核升级至7.1.6以避免CVE-2026-64561漏洞(Автор: 欢-Huan)
Системное окружение:
| Пункт | Информация |
|---|---|
| Операционная система | CentOS Stream 8 |
| Исходное ядро | 4.18.0-552.el8.x86_64 |
| Целевое ядро | 7.1.6-1.el8.elrepo.x86_64 |
| Источник ядра | ELRepo kernel-ml |
Аппаратное окружение (окружение автора, только для справки):
| Пункт | Информация |
|---|---|
| CPU | AMD Ryzen 9 9950X |
| Назначение | Хост KVM / LXD |
| Сетевая карта | Realtek r8126 (сторонний драйвер) |
Примечание: Это драйвер сетевой карты для материнской платы MSI. Если машина выходит в сеть без специальных драйверов, этот шаг не нужен. Подбирайте драйвер под свою сетевую карту — у всех он разный.
Проверка текущего окружения:
cat /etc/os-release
uname -r
Путь обновления:
4.18.0-552.el8
↓
7.1.6-1.el8.elrepo
Если ELRepo уже установлен, этот шаг можно пропустить.
# 导入 ELRepo GPG 密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装 ELRepo 仓库
dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm
Проверка:
# 检查 ELRepo 仓库是否已添加
dnf repolist | grep elrepo
# 查看可用的 kernel-ml 版本列表
dnf --enablerepo=elrepo-kernel list kernel-ml --showduplicates
Подтвердите наличие:
kernel-ml.x86_64 7.1.6-1.el8.elrepo
# 安装内核本体、核心和模块
dnf --enablerepo=elrepo-kernel install -y \
kernel-ml-7.1.6-1.el8.elrepo.x86_64 \
kernel-ml-core-7.1.6-1.el8.elrepo.x86_64 \
kernel-ml-modules-7.1.6-1.el8.elrepo.x86_64
Компиляция сторонних драйверов (при необходимости):
# 安装内核开发包用于编译第三方驱动
dnf --enablerepo=elrepo-kernel install -y \
kernel-ml-devel-7.1.6-1.el8.elrepo.x86_64
# 查看已安装的 kernel-ml 包
rpm -qa | grep kernel-ml
Проверка grub:
# 查看 grub 中的内核列表
grubby --info=ALL | grep title
# 查看所有可用内核
grubby --info=ALL | grep kernel
Настройка:
# 设置默认启动内核
grubby --set-default /boot/vmlinuz-7.1.6-1.el8.elrepo.x86_64
Подтверждение:
# 验证默认内核
grubby --default-kernel
# 检查 grub 环境保存状态
grub2-editenv list
# 重启服务器
reboot
Проверка:
# 查看当前内核版本
uname -r
Ожидаемый результат:
7.1.6-1.el8.elrepo.x86_64
Примечание: Это драйвер сетевой карты для материнской платы MSI. Если машина выходит в сеть без специальных драйверов, этот шаг не нужен. Подбирайте драйвер под свою сетевую карту — у всех он разный.
# 查看 r8126 驱动版本信息
modinfo r8126 | grep vermagic
Если не:
7.1.6-1.el8.elrepo.x86_64
требуется перекомпиляция.
Примечание: Это драйвер сетевой карты для материнской платы MSI. Если машина выходит в сеть без специальных драйверов, этот шаг не нужен. Подбирайте драйвер под свою сетевую карту — у всех он разный.
# 进入驱动源码目录
cd /root/qudong_backup/r8126-10.016.00
# 清理旧编译产物
make clean
# 编译驱动
make
# 安装驱动
make install
# 重新生成模块依赖
depmod -a
# 加载驱动
modprobe r8126
Проверка:
# 确认驱动已加载
lsmod | grep r8126
Ядро 7.1.x содержит новую версию KVM/MMU:
CONFIG_KVM_GUEST_MEMFD=y
CONFIG_KVM_GENERIC_MMU_NOTIFIER=y
CONFIG_KVM_MM_U_LOCKLESS_AGING=y
CONFIG_KVM_EXTERNAL_WRITE_TRACKING=y
CONFIG_KVM_MAX_NR_VCPUS=4096
# 查看所有可用内核
grubby --info=ALL | grep kernel
Восстановление старого ядра:
# 设置旧内核为默认启动项
grubby --set-default /boot/vmlinuz-4.18.0-552.el8.x86_64
Путь обновления:
CentOS Stream 8
↓
Linux 4.18
↓
ELRepo kernel-ml 7.1.6
Результат:
✅ Обновлено до Linux 7.1.6
✅ Обновлена подсистема KVM/MMU
✅ Поддержка большего числа новых аппаратных средств
✅ Сохранена возможность отката на старое ядро
Примечания:
Подходит для сред без доступа к репозиторию ELRepo или там, где требуется официальная стабильная версия с kernel.org. Подробные шаги приведены ниже.
| Пункт | Информация |
|---|---|
| Система | CentOS Stream 8 |
| Архитектура | x86_64 |
| Виртуализация | KVM Intel |
| Исходное ядро | 6.18.8-1.el8.elrepo.x86_64 |
| Текущее ядро | 7.1.3 |
| Итоговое ядро | 7.1.7 |
Проверка текущего окружения:
cat /etc/os-release
uname -r
В моём серверном окружении:
Поэтому используется:
обновление ядра путём сборки из официальных стабильных исходников kernel.org.
Пояснение:
Этот вариант — лишь решение для моего серверного окружения; он не означает, что во всех средах обязательно нужна сборка из исходников.
# 进入源码目录
cd /usr/src
# 下载 Linux 7.1.7 源码
wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.7.tar.xz
# 解压源码
tar -xf linux-7.1.7.tar.xz
# 进入源码目录
cd /usr/src/linux-7.1.7
# 确认源码完整
ls Makefile
Ожидаемый результат:
Makefile
Поскольку ядро 7.1.3, установленное из исходников, не создало:
/boot/config-7.1.3
используется конфигурация, сохранённая при предыдущей сборке:
# 检查旧配置是否存在
ls -lh /usr/src/linux-7.1.3/.config
Подтверждено наличие:
/usr/src/linux-7.1.3/.config
# 复制旧配置到新内核目录
cp /usr/src/linux-7.1.3/.config /usr/src/linux-7.1.7/.config
# 进入新内核源码目录
cd /usr/src/linux-7.1.7
# 基于旧配置生成新配置
make olddefconfig
Ожидаемый результат:
#
# configuration written to .config
#
# 检查 KVM 相关配置项
grep -E "CONFIG_KVM|CONFIG_KVM_INTEL" .config
Ожидаемый результат:
CONFIG_KVM_X86=m
CONFIG_KVM=m
CONFIG_KVM_INTEL=m
Пояснение:
Отвечает требованиям текущего окружения KVM Intel.
# 查看 CPU 核心数
nproc