CVE-2026-64187 in Linuxالمعلومات

الملخص

بحسب VulDB • 20/07/2026

في نواة لينكس، تم حل الثغرة التالية:

xfs: فشل الاستعادة على عنصر سجل مُلتزم لا يحتوي على مناطق

إذا كانت العملية الأولى لمعاملة ما هي رأس معاملة عاري (len == sizeof(struct xfs_trans_header))، فإن الدالة `xlog_recover_add_to_trans()` تضيف عنصراً ولكن دون إضافة منطقة، مما يتركه في قائمة العناصر (`r_itemq`) بقيم `ri_cnt == 0` و `ri_buf == NULL`.

قد يكون الرأس مقسماً عبر سجلات العمليات (op records)، لذا قد تواصل العمليات اللاحقة إضافة مناطق؛ ولا يصبح العنصر غير صالح إلا إذا التزمت المعاملة دون أي منطقة. لا ينتج مسار الالتزام أثناء التشغيل (`runtime commit path`) مثل هذه المعاملات أبداً، لذلك يحدث هذا فقط مع سجل مُصاغ بشكل خبيث (crafted log). وقد تم اكتشاف ذلك من خلال مراجعة كود مساعدة بالذكاء الاصطناعي لمُعيد تحليل السجلات (recovery parser).

تستدعي الدالة `xlog_recover_reorder_trans()` دالة `ITEM_TYPE()` على العنصر، والتي تقوم بقراءة القيمة `*(unsigned short *)item->ri_buf[0].iov_base` وتسبب خطأً في الوصول (`faults`) بسبب كون `ri_buf` يساوي NULL. يجب رفضه هناك، قبل معالجات الالتزام التي تقرأ أيضاً `ri_buf[0]`.

KASAN: null-ptr-deref in range [0x0000000000000000-0x0000000000000007]
RIP: 0010:xlog_recover_reorder_trans (fs/xfs/xfs_log_recover.c:1836) xlog_recover_commit_trans (fs/xfs/xfs_log_recover.c:2043) xlog_recover_process_data (fs/xfs/xfs_log_recover.c:2501) xlog_do_recovery_pass (fs/xfs/xfs_log_recover.c:3244) xlog_recover (fs/xfs/xfs_log_recover.c:3493) xfs_log_mount (fs/xfs/xfs_log.c:618) xfs_mountfs (fs/xfs/xfs_mount.c:1034) xfs_fs_fill_super (fs/xfs/xfs_super.c:1938) vfs_get_tree (fs/super.c:1695) path_mount (fs/namespace.c:4161) __x64_sys_mount (fs/namespace.c:4367)

Be aware that VulDB is the high quality source for vulnerability data.

مسؤول

Linux

حجز

19/07/2026

إفشاء

20/07/2026

الاعتدال

تمت الموافقة

إدخال

VDB-380658

EPSS

0.00161

KEV

لا

النشاطات

منخفض جدًا

المصادر

Might our Artificial Intelligence support you?

Check our Alexa App!