Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2026-53359-Kernel-Fix — دليل ترقية نواة Linux - إصلاح CVE-2026-53359 | Kitploit
أدوات/GitHubGitHub/chuzhongyun/cve-2026-53359-kernel-fix
أمن البنية التحتية السحابيةتحليل الثغرات الأمنيةالتعلم والتعليم
GitHubchuzhongyun/cve-2026-53359-kernel-fix

CVE-2026-53359-Kernel-Fix

دليل ترقية نواة Linux - إصلاح CVE-2026-53359

عرض المستودع

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
217منذ 2 أشهرلم تتم المراجعة بعد
مشاركة

中文 | الإنجليزية


中文

升级 Linux Kernel 7.1.3 修复 CVE-2026-53359 教程

声明: 本文仅记录本人服务器环境下的修复过程,并非安全专业分析。如有不当之处,欢迎指正。

验证说明: 经源码比对确认,Linux Kernel 7.1.3 已包含修复 commit 81ccda30b4e8("KVM: x86: Fix shadow paging use-after-free due to unexpected role"),该补丁在 arch/x86/kvm/mmu/mmu.c 的 kvm_mmu_get_child_sp() 函数中增加了 role.word 匹配条件,从根本上消除了因 role 不匹配导致的 shadow paging UAF。因此,升级至 7.1.3 可以有效修复此漏洞。

1. 简介

本文档提供两种方式将 Linux Kernel 升级至 7.1.3,用于修复 CVE-2026-53359:ELRepo RPM 安装(推荐)和源码编译。

项目说明
CVE 编号CVE-2026-53359
漏洞组件Linux Kernel KVM x86 Shadow MMU
漏洞类型Use After Free (UAF)
修复方式升级 Linux Kernel 至 7.1.3(ELRepo RPM 或源码编译)

漏洞影响:

KVM x86 Shadow Paging 场景中,异常情况下可能出现释放后的页面仍被 rmap 条目引用,引发内存安全问题。

漏洞参考:

  • NVD - CVE-2026-53359
  • Januscape - PoC

2. 环境信息

项目信息
系统CentOS Stream 8
升级前内核6.18.8-1.el8.elrepo.x86_64
升级后内核7.1.3
架构x86_64
虚拟化KVM Intel

查看当前环境:

root@kitploit:~
cat /etc/os-release
uname -r

3. 升级方法

本教程提供两种升级方式,可根据环境选择:

方法一:ELRepo RPM 安装(推荐)

适用于能正常访问 ELRepo 仓库的环境,无需编译,操作简单。

root@kitploit:~
# 导入 ELRepo GPG 密钥
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# 安装 ELRepo 仓库
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

# 安装最新主线内核
dnf --enablerepo=elrepo-kernel install kernel-ml

# 设置新内核为默认启动项
grubby --set-default /boot/vmlinuz-7.1.3-1.el8.elrepo.x86_64

# 重启生效
reboot

注意: 内核版本号可能因 ELRepo 更新而变化,请以实际安装的版本为准。安装后可用 ls /boot/vmlinuz-* 查看。

方法二:源码编译

适用于无法访问 ELRepo 仓库,或需要使用 kernel.org 官方 stable 版本的环境。具体步骤见下方。


4. 源码编译步骤

由于本人服务器环境中:

  • ELRepo Kernel RPM 仓库无法稳定拉取;
  • 未找到适合当前环境的 RPM 更新包;
  • 需要直接使用 Linux Kernel 官方 stable 修复版本;

因此采用:

kernel.org 官方 stable 源码编译方式升级内核。

说明:

该方案仅为本人服务器环境下的解决方法,不代表所有环境必须使用源码编译。


5. 下载源码

官方下载:

root@kitploit:~
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.3.tar.xz

下载命令:

root@kitploit:~
wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.3.tar.xz

上传位置(离线环境):

root@kitploit:~
/root/linux-7.1.3.tar.xz

6. 安装编译依赖

root@kitploit:~
dnf groupinstall "Development Tools" -y

dnf install -y \
  ncurses-devel \
  elfutils-libelf-devel \
  openssl-devel \
  bc \
  bison \
  flex \
  perl \
  dwarves

7. 解压源码

root@kitploit:~
mkdir -p /usr/src
cd /usr/src
tar -xf /root/linux-7.1.3.tar.xz
cd linux-7.1.3
ls Makefile  # 应显示: Makefile

8. 使用现有配置

root@kitploit:~
# 复制当前配置
cp /boot/config-$(uname -r) .config

# 生成新配置
make olddefconfig

# 检查 KVM 配置
grep -E "CONFIG_KVM|CONFIG_KVM_INTEL" .config

预期输出:

root@kitploit:~
CONFIG_KVM=m
CONFIG_KVM_X86=m
CONFIG_KVM_INTEL=m

9. 编译内核

root@kitploit:~
# 查看 CPU 线程数
nproc

# 编译(使用所有核心)
make -j$(nproc)

# 验证内核镜像
ls -lh arch/x86/boot/bzImage

注意: 编译时间取决于 CPU 和存储性能。


10. 安装内核模块

root@kitploit:~
# 安装模块
make modules_install

# 验证安装
ls /lib/modules/

# 检查 KVM 模块
find /lib/modules/7.1.3 -name "kvm*.ko*"

预期输出:

root@kitploit:~
kvm.ko
kvm-intel.ko
kvm-amd.ko

11. 安装内核镜像

root@kitploit:~
# 安装内核
make install

# 验证安装
ls -lh /boot | grep 7.1.3

预期输出:

root@kitploit:~
vmlinuz-7.1.3
initramfs-7.1.3.img
System.map-7.1.3

12. 更新启动项

root@kitploit:~
# 生成 GRUB 配置
grub2-mkconfig -o /boot/grub2/grub.cfg

# 设置默认内核
grubby --set-default /boot/vmlinuz-7.1.3

# 验证默认内核
grubby --default-kernel

预期输出:

root@kitploit:~
/boot/vmlinuz-7.1.3

13. 重启

root@kitploit:~
reboot

14. 验证

查看内核版本:

root@kitploit:~
uname -r
# 预期: 7.1.3

查看 KVM 模块:

root@kitploit:~
lsmod | grep kvm
# 预期: kvm_intel, kvm, irqbypass

验证 KVM 模块位置:

root@kitploit:~
modinfo kvm_intel | grep filename
# 预期: /lib/modules/7.1.3/kernel/arch/x86/kvm/kvm-intel.ko

15. 回滚

重要: 旧内核不应立即删除。

列出可用内核:

root@kitploit:~
grubby --info=ALL | grep kernel

如果新内核有问题,设置旧内核:

root@kitploit:~
grubby --set-default /boot/vmlinuz-6.18.8-1.el8.elrepo.x86_64
reboot

16. 最终结果

项目升级前升级后
内核版本6.18.8-1.el8.elrepo.x86_647.1.3
KVM 状态N/A已启用
CVE-2026-53359受影响已修复


الإنجليزية

ترقية Linux Kernel إلى 7.1.3 لإصلاح CVE-2026-53359

إخلاء مسؤولية: هذا المستند يسجل فقط عملية الإصلاح الخاصة بي على بيئة خادم معينة. إنه ليس تحليل أمان احترافي. التصحيحات مرحب بها.

ملاحظة التحقق: تؤكد مقارنة الكود المصدري أن Linux Kernel 7.1.3 يتضمن commit الإصلاح 81ccda30b4e8 ("KVM: x86: Fix shadow paging use-after-free due to unexpected role"). يضيف التصحيح شرط مطابقة role.word في الدالة kvm_mmu_get_child_sp() في arch/x86/kvm/mmu/mmu.c، مما يلغي UAF للـ shadow paging الناتج عن عدم تطابق الدور. لذلك، فإن الترقية إلى 7.1.3 تعالج هذه الثغرة بشكل فعال.

1. مقدمة

يوفر هذا الدليل طريقتين لترقية Linux Kernel إلى 7.1.3 لإصلاح CVE-2026-53359: تثبيت ELRepo RPM (موصى به) والبناء من المصدر.

العنصرالوصف
معرف CVECVE-2026-53359
المكون المتأثرLinux Kernel KVM x86 Shadow MMU

تتعلق الثغرة بـ KVM x86 shadow paging. في ظل ظروف معينة، قد تظل الصفحات المحررة مشار إليها بواسطة إدخالات rmap، مما يسبب مشكلة أمان في الذاكرة.

المراجع:

  • NVD - CVE-2026-53359
  • Januscape - PoC

2. البيئة

تحقق من البيئة الحالية:

root@kitploit:~
cat /etc/os-release
uname -r

3. طرق الترقية

يوفر هذا الدليل طريقتين للترقية. اختر حسب بيئتك:

الطريقة أ: تثبيت ELRepo RPM (موصى به)

للبيئات التي لديها وصول موثوق إلى مستودع ELRepo. لا حاجة للترجمة.

root@kitploit:~
# استيراد مفتاح GPG لـ ELRepo
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# تثبيت مستودع ELRepo
dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

# تثبيت أحدث نواة رئيسية
dnf --enablerepo=elrepo-kernel install kernel-ml

# تعيين النواة الجديدة كإقلاع افتراضي
grubby --set-default /boot/vmlinuz-7.1.3-1.el8.elrepo.x86_64

# إعادة التشغيل للتطبيق
reboot

ملاحظة: قد تتغير أرقام إصدار النواة مع تحديثات ELRepo. تحقق من الإصدار المثبت فعلياً باستخدام ls /boot/vmlinuz-*.

الطريقة ب: البناء من المصدر

للبيئات دون وصول إلى ELRepo، أو عندما يكون إصدار kernel.org الرسمي المستقر مطلوباً. انظر الخطوات التفصيلية أدناه.


4. خطوات البناء من المصدر

في بيئتي:

  • لم أتمكن من الوصول إلى مستودع ELRepo Kernel RPM بشكل موثوق.
  • لم أجد طريقة RPM تحديث أخرى مناسبة.
  • كنت بحاجة لنشر إصدار Linux Kernel الرسمي المستقر.

لذلك:

استخدمت الكود المصدري الرسمي من kernel.org وقمت ببناء Kernel 7.1.3 يدوياً.

ملاحظة:

هذا حل لبيئتي الخاصة، وليس طريقة ترقية إلزامية لجميع الأنظمة.


5. تنزيل كود النواة المصدر

المصدر الرسمي:

root@kitploit:~
https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.3.tar.xz

التنزيل:

root@kitploit:~
wget https://cdn.kernel.org/pub/linux/kernel/v7.x/linux-7.1.3.tar.xz

موقع الرفع (إذا كان بدون اتصال):

root@kitploit:~
/root/linux-7.1.3.tar.xz

6. تثبيت تبعيات البناء

root@kitploit:~
dnf groupinstall "Development Tools" -y

dnf install -y \
  ncurses-devel \
  elfutils-libelf-devel \
  openssl-devel \
  bc \
  bison \
  flex \
  perl \
  dwarves \
  tar \
  xz

تحقق من المترجم:

root@kitploit:~
gcc --version

7. استخراج الكود المصدري

root@kitploit:~
mkdir -p /usr/src
cd /usr/src
tar -xf /root/linux-7.1.3.tar.xz
cd linux-7.1.3
ls Makefile  # يجب أن يظهر: Makefile

8. استيراد تكوين النواة الحالي

root@kitploit:~
# نسخ تكوين النواة الحالي
cp /boot/config-$(uname -r) .config

# توليد تكوين جديد
make olddefconfig

# التحقق من تكوين KVM
grep -E "CONFIG_KVM|CONFIG_KVM_INTEL" .config

المخرجات المتوقعة:

root@kitploit:~
CONFIG_KVM=m
CONFIG_KVM_X86=m
CONFIG_KVM_INTEL=m

9. ترجمة النواة

root@kitploit:~
# التحقق من عدد خيوط المعالجة
nproc

# الترجمة (استخدام جميع النوى المتاحة)
make -j$(nproc)

# التحقق من صورة النواة
ls -lh arch/x86/boot/bzImage

ملاحظة: وقت الترجمة يعتمد على أداء المعالج والتخزين.


10. تثبيت وحدات النواة

root@kitploit:~
# تثبيت الوحدات
make modules_install

# التحقق من التثبيت
ls /lib/modules/

# التحقق من وحدات KVM
find /lib/modules/7.1.3 -name "kvm*.ko*"

المخرجات المتوقعة:

root@kitploit:~
kvm.ko
kvm-intel.ko
kvm-amd.ko

11. تثبيت صورة النواة

root@kitploit:~
# تثبيت النواة
make install

# التحقق من التثبيت
ls -lh /boot | grep 7.1.3

المخرجات المتوقعة:

root@kitploit:~
vmlinuz-7.1.3
initramfs-7.1.3.img
System.map-7.1.3

12. تكوين محمل الإقلاع GRUB

root@kitploit:~
# توليد تكوين GRUB
grub2-mkconfig -o /boot/grub2/grub.cfg

# تعيين النواة الافتراضية
grubby --set-default /boot/vmlinuz-7.1.3

# التحقق من النواة الافتراضية
grubby --default-kernel

المخرجات المتوقعة:

root@kitploit:~
/boot/vmlinuz-7.1.3

13. إعادة التشغيل

root@kitploit:~
reboot

14. التحقق بعد إعادة التشغيل

التحقق من إصدار النواة:

root@kitploit:~
uname -r
# المتوقع: 7.1.3

التحقق من وحدات KVM:

root@kitploit:~
lsmod | grep kvm
# المتوقع: kvm_intel, kvm, irqbypass

التحقق من موقع وحدة KVM:

root@kitploit:~
modinfo kvm_intel | grep filename
# المتوقع: /lib/modules/7.1.3/kernel/arch/x86/kvm/kvm-intel.ko

15. إجراءات التراجع

هام: لا ينبغي حذف النواة القديمة فوراً.

عرض النوى المتاحة:

root@kitploit:~
grubby --info=ALL | grep kernel

إذا كانت النواة الجديدة بها مشاكل، قم بتعيين النواة القديمة:

root@kitploit:~
grubby --set-default /boot/vmlinuz-6.18.8-1.el8.elrepo.x86_64
reboot

16. النتيجة النهائية

العنصرقبلبعد
إصدار النواة6.18.8-1.el8.elrepo.x86_647.1.3
حالة KVMN/Aمفعل
CVE-2026-53359معرضة للخطرتم الإصلاح

许可证 / الترخيص

MIT

تنزيل الأداة
نوع الثغرة
Use After Free (UAF)
طريقة الإصلاحترقية Linux Kernel إلى 7.1.3 (ELRepo RPM أو البناء من المصدر)
العنصرالقيمة
نظام التشغيلCentOS Stream 8
النواة القديمة6.18.8-1.el8.elrepo.x86_64
النواة الجديدة7.1.3
المعماريةx86_64
الافتراضيةKVM Intel
المترجمGCC 8.5