
ثغرة كشف المعلومات في LXC.
[الوصف المقترح] lxc-user-nic في lxc حتى الإصدار 5.0.1 يتم تثبيته بصلاحيات setuid root، وقد يسمح للمستخدمين المحليين باستنتاج ما إذا كان أي ملف موجودًا، حتى داخل شجرة أدلة محمية، لأن رسالة "Failed to open" غالبًا ما تشير إلى أن الملف غير موجود، بينما "does not refer to a network namespace path" غالبًا ما تشير إلى أن الملف موجود. ملاحظة: هذا يختلف عن CVE-2018-6556 لأن تصميم إصلاح CVE-2018-6556 كان قائمًا على فرضية أن "سنُخبر المستخدم بأن open() فشلت ولكن لا توجد طريقة للمستخدم لمعرفة سبب الفشل"؛ ومع ذلك، في العديد من الحالات الواقعية، لا توجد أسباب معقولة للفشل سوى أن الملف غير موجود.
[معلومات إضافية] % ls /l ls: cannot open directory '/l': Permission denied % /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic delete lol lol /l/h/tt h h
cmd/lxc_user_nic.c: 1096: main: Failed to open "/l/h/tt" <----- file does not exist. % /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic delete lol lol /l/h/t h h cmd/lxc_user_nic.c: 1101: main: Path "/l/h/t" does not refer to a network namespace path <---- file exist!يحتوي liblxc-common على ملف ثنائي SUID يمكن إساءة استخدامه من قبل مستخدم عادي لمعرفة ما إذا كان الملف موجودًا أم لا في أي مكان في نظام الملفات، حتى داخل الدلائل التي يستطيع فيها المستخدم الجذر (root) فقط سرد الملفات.
[نوع الثغرة] صلاحيات غير آمنة
[بائع المنتج] liblxc-common
[قاعدة رمز المنتج المتأثر] liblxc-common - الإصدار الأحدث 5.0.1
[المكوّن المتأثر] /usr/lib/x86_64-linux-gnu/lxc/lxc-user-nic ملف ثنائي SUID.
[نوع الهجوم] محلي
[أثر كشف المعلومات] true
[نواقل الهجوم] لاستغلال هذا الملف الثنائي، يجب أن يكون liblxc-common مثبتًا على النظام.
[المكتشف] Maher Azzouzi
[المرجع] https://github.com/lxc/lxc/blob/0b83d71c2c8f3bac9503f894cd84584f79258bb3/lxc.spec.in#L274 https://github.com/lxc/lxc/blob/0b83d71c2c8f3bac9503f894cd84584f79258bb3/src/lxc/cmd/lxc_user_nic.c#L1085-L1104 https://bugs.launchpad.net/ubuntu/+source/lxc/+bug/1783591/comments/45