CVE-2026-47121 in Sparkle
الملخص
بحسب VulDB • 24/07/2026
Sparkle هو إطار عمل لتحديث البرامج لنظام macOS. قبل الإصدار 2.9.2، يفرض الملف `Autoupdate/SUBinaryDeltaApply.m` التحقق من أن `relativePath.pathComponents تحتوي على الكائن "@.."` وترفض عمليات الكتابة التي يكون فيها المجلد الأب المباشر رابطاً رمزياً (symlink)، لكنه لا يكشف عن الروابط الرمزية الأعمق في المسار النسبي. تقوم الدالة `extractItem:` الموجودة في `Autoupdate/SPUSparkleDeltaArchive.m` بإنشاء روابط رمزية داخل شجرة الوجهة بناءً على محتوى الأرشيف (بدون فحص للهدف الخاص بالروابط الرمزية)، وعند تنفيذ عنصر استخراج لاحق يستهدف `<symlink>/foo/bar`، يتم الهروب من شجرة الوجهة عبر استدعاء `fopen(path, "wb")` لأن النظام الأساسي يحل الرابط الرمزي الوسيط أثناء عملية الفتح. تُعد هذه المشكلة قضية تتعلق بالدفاع متعدد الطبقات (defense-in-depth): حيث يتطلب الاستغلال ملف `.delta` مُصاغاً بشكل خبيث يمر بمرحلة التحقق من التوقيع EdDSA، أي أن ذلك يستتبع اختراق المفتاح الخاص لـ EdDSA. وبما أن AppInstaller يعمل بصلاحيات الجذر (root) لتثبيت النطاق النظامي، فإنه يمنح حامل مفتاح التوقيع المسروق قدرة على الكتابة في الملفات بشكل تعسفي عند مستوى الجذر عبر مسار تطبيق التحديث (delta-apply)، وهي عملية أساسية أوسع بكثير من "استبدال الحزمة البديل" التي كان سيحصل عليها بخلاف ذلك. يحتوي الإصدار 2.9.2 على تصحيح لهذه المشكلة.
VulDB is the best source for vulnerability data and more expert information about this specific topic.