
POC لـ CVE-2026-49009، وهي مشكلة اجتياز مسار مصدق تؤدي إلى RCE في خادم Mender.
▄█████ ██ ██ ██████ ████▄ ▄██▄ ████▄ ▄██▀▀▀ ██ ██ ▄█▀▀█▄ ▄██▄ ▄██▄ ▄█▀▀█▄ ██ ██▄▄██ ██▄▄ ▄▄▄ ▄██▀ ██ ██ ▄██▀ ██▄▄▄ ▄▄▄ ▀█████ ▀▀▀██ ██ ██ ██ ██ ▀▀▀██ ▀█████ ▀██▀ ██▄▄▄▄ ███▄▄ ▀██▀ ███▄▄ ▀█▄▄█▀ ██ ▄▄██▀ ▀██▀ ▀██▀ ▄▄██▀
░█▄█░█▀▀░█▀█░█▀▄░█▀▀░█▀▄░░░█▀▀░█▀▀░█▀▄░█░█░█▀▀░█▀▄░░░█▀▄░█▀▀░█▀▀░
░█░█░█▀▀░█░█░█░█░█▀▀░█▀▄░░░▀▀█░█▀▀░█▀▄░▀▄▀░█▀▀░█▀▄░░░█▀▄░█░░░█▀▀░
░▀░▀░▀▀▀░▀░▀░▀▀░░▀▀▀░▀░▀░░░▀▀▀░▀▀▀░▀░▀░░▀░░▀▀▀░▀░▀░░░▀░▀░▀▀▀░▀▀▀░
اكتشفتُ وأبلغتُ بمسؤولية عن ثغرة أمنية حرجة في سير عمل إنشاء القطع الأثرية أحادية الملف في خادم Mender. بدأت المشكلة كخلل في تنظيف الإدخال واجتياز المسار في حقل args.filename الذي يتحكم به المستخدم، لكنني أوضحت أن الخلل لم يتوقف عند الكتابة التعسفية للملفات. من خلال استهداف ملف تنفيذي يملكه العامل داخل حاوية إنشاء القطعة الأثرية، صعّدتُ المشكلة إلى تنفيذ موثوق للتعليمات البرمجية عن بُعد.
عمليًا، يمكن لمهاجم مُصادَق لديه حق الوصول إلى إنشاء القطع الأثرية استبدال /usr/bin/mender-artifact داخل create-artifact-worker. ثم يقوم سير العمل باستدعاء نفس الملف الثنائي أثناء إنشاء القطعة العادية، مما يؤدي إلى تنفيذ الحمولة التي يتحكم بها المهاجم.
هذا حوّل خلل اجتياز/كتابة فوقية تعسفية إلى مشكلة تنفيذ تعليمات برمجية في الخلفية ضمن سير عمل القطع الأثرية.
قبل سير العمل القابل للثغرة إدخالًا يتحكم به المهاجم في تدفق إنشاء القطعة الأثرية أحادية الملف ولم يقيّد بشكل كافٍ أين سيتم كتابة المحتوى المُحمَّل.
وجدتُ أنه يمكنني التحكم بـ args.filename واستغلال اجتياز المسار للكتابة خارج الوجهة المقصودة. بدلاً من كتابة ملف إدخال قطعة عادي، وجهتُ هدف الكتابة إلى /usr/bin/mender-artifact داخل حاوية العامل. وبما أن مستخدم وقت التشغيل يملك هذا الملف الثنائي في الإعداد القابل للثغرة، نجحت الكتابة.
في وقت لاحق، استدعى سير العمل mender-artifact كجزء من عملية بناء القطعة. وبما أنني قد استبدلت ذلك الملف التنفيذي بحمولتي الخاصة، قام العامل بتنفيذ تعليمات برمجية يتحكم بها المهاجم.
احتاج المهاجم إلى:
على مستوى عالٍ، عملت سلسلة الاستغلال كالتالي:
/usr/bin/mender-artifact.mender-artifact أثناء إنشاء القطعة.كان هذا مهمًا لأن الهدف القابل للكتابة لم يكن مجرد ملف عادي. بل كان ملفًا ثنائيًا وثقه سير العمل ونفّذه فورًا.
يمكن للمهاجم الناجح تنفيذ أوامر عشوائية داخل عامل إنشاء القطع الأثرية المشترك.
من هناك، امتد التأثير إلى ما بعد طلب واحد:
باختصار، لم يكن هذا مجرد خلل في كتابة الملفات. بل كان خللًا في تنفيذ التعليمات البرمجية في مكون خلفي حساس يقع في مسار تسليم البرامج.
قيّمت HackerOne التقرير في النهاية على أنه حرج ومنحت مكافأة بقيمة 3,000 دولار، وهو ما يتماشى مع التأثير العملي الذي تم إثباته أثناء التحقق.
كان السبب الجذري هو فشل حدود الثقة في مسار إنشاء القطع الأثرية أحادية الملف.
وثق سير العمل إدخال المسار الذي يتحكم به المهاجم بعيدًا جدًا في سلسلة المعالجة الخلفية. سمح لاسم ملف متأثر بالمستخدم بالهروب من موقعه المقصود والوصول إلى أهداف نظام ملفات حساسة. ثم ضخّمت بيئة العامل هذا الخطأ لأنها كشفت مسارات قابلة للتنفيذ كانت قابلة للكتابة من قبل مستخدم وقت التشغيل، ثم تم تنفيذها بواسطة سير العمل نفسه.
هذا المزيج خلق سلسلة استغلال نظيفة:
إدخال مسار يتحكم به المستخدم ← كتابة فوقية تعسفية للملفات ← استبدال ملف تنفيذي موثوق ← تنفيذ تعليمات برمجية عن بُعد في الخلفية
يُظهر CVE-2026-49009 كيف يمكن لمشكلة تنظيف إدخال تبدو ضيقة أن تتحول إلى سلسلة كاملة من تنفيذ التعليمات البرمجية عن بُعد عندما يكتب سير عمل موثوق بيانات يتحكم بها المهاجم إلى مسارات قابلة للتنفيذ.
في الإصدارات القابلة للثغرة، يمكن لمهاجم مُصادَق تحويل ميزة إنشاء القطع الأثرية أحادية الملف إلى اجتياز مسار، كتابة فوقية تعسفية، وسلسلة تنفيذ تعليمات برمجية عن بُعد. قامت الإصدارات المُصحَّحة بإغلاق هذا المسار واستعادة سير العمل إلى سلوكه المقصود.