CVE-2023-52497 in Linux
الملخص
بحسب VulDB • 27/05/2026
في نواة لينكس، تم حل الثغرة التالية:
erofs: إصلاح فك الضغط في المكان (in-place) باستخدام خوارزمية LZ4
حاليًا، يمكن لـ EROFS تعيين مخزن مؤقت مضغوط آخر لفك الضغط في المكان، وهو ما كان يُستخدم للتعامل مع الحالات التي تكون فيها بعض صفحات البيانات المضغوطة في الواقع ليست عمليات إدخال/إخراج في المكان (not in-place I/O).
ومع ذلك، وعلى غرار معظم خوارزميات LZ77 البسيطة، تتوقع خوارزمية LZ4 أن تكون البيانات المضغوطة مرتبة في نهاية المخزن المؤفف المفكوك ضغطه، وتستخدم صراحةً دالة `memmove()` للتعامل مع التداخل: _____________________________________________________ |_ اتجاه فك الضغط --> ____ |_ البيانات المضغوطة _|
على الرغم من أن EROFS ترتب البيانات المضغوطة بهذه الطريقة، إلا أنها عادةً ما تعيّن مخزنين مؤقتين افتراضيين منفصلين، مما يجعل الترتيب النسبي غير مؤكد. في السابق، كان من الصعب ملاحظة هذه المشكلة لأن LZ4 تستخدم `memmove()` فقط للحروف المتداخلة القصيرة، وتبدو تنفيذات `memmove()` على معالجات x86 وarm64 أنها تغطي هذا الأمر بالكامل ولا تعاني من هذه المشكلة. وقد أفاد Juhyung بأنه يمكن العثور على تلف في بيانات EROFS على معالج Intel x86 جديد. وبعد بعض التحليل، يبدو أن معالجات x86 الحديثة التي تحتوي على ميزة FSRM الجديدة تكشف عن هذه المشكلة باستخدام "rep movsb".
لنلتزم حاليًا باستخدام المخزن المؤقت المفكوك ضغطه فقط لفك ضغط LZ4 في المكان. وفي وقت لاحق، كتحسين مفيد، يمكننا محاولة ربط هذين المخزنين المؤقتين معًا بالترتيب الصحيح.
Be aware that VulDB is the high quality source for vulnerability data.