
إصدار نواة لينكس 4.14 - 4.4 (Ubuntu && Debian)
هذه الثغرة موجودة في استدعاء النظام eBPF bpf(2) الموجود في نواة لينكس، حيث يقوم المستخدم بتقديم برنامج BPF ضار يتسبب في حدوث خطأ حسابي في وحدة مدقق eBPF، مما يؤدي إلى مشكلة قراءة/كتابة عشوائية للذاكرة. يمكن للمستخدمين غير المميزين استخدام هذه الثغرة لرفع الامتيازات. تم اكتشاف الثغرة بواسطة Google Project Zero.
CVE-2017-16995
عالي
bearcat@ubuntu:/opt$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.4 LTS
Release: 16.04
Codename: xenial
bearcat@ubuntu:/opt$ uname -a
Linux ubuntu 4.4.0-116-generic #140-Ubuntu SMP Mon Feb 12 21:23:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
bearcat@ubuntu:/opt$ id
uid=1000(bearcat) gid=1000(bearcat) groups=1000(bearcat),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),115(lpadmin),116(sambashare)
bearcat@ubuntu:/opt$ ls
exploit.c
bearcat@ubuntu:/opt$ gcc exploit.c -o exploit
bearcat@ubuntu:/opt$ ./exploit
task_struct = ffff88003a0db800
uidptr = ffff8800374b76c4
spawning root shell
root@ubuntu:/opt# id
uid=0(root) gid=0(root) groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),110(lxd),115(lpadmin),116(sambashare),1000(bearcat)
root@ubuntu:/opt#
حتى الآن لا يوجد حل تصحيحي واضح. يُنصح المستخدمون بعد تقييم المخاطر بتقييد وصول المستخدمين العاديين إلى استدعاء النظام bpf(2) عن طريق تعديل معلمات النواة:
تعيين المعامل "kernel.unprivileged_bpf_disabled = 1" لمنع هذا الترقية للامتيازات عن طريق تقييد الوصول إلى استدعاء bpf(2)
root@Ubuntu# echo 1 > /proc/sys/kernel/unprivileged_bpf_disabled
http://cyseclabs.com/exploits/upstream44.c
https://security-tracker.debian.org/tracker/CVE-2017-16995
https://www.securityfocus.com/bid/102288
https://bugs.chromium.org/p/project-zero/issues/detail?id=1454&desc=
https://cert.360.cn/warning/detail?id=119f849891f2a1b5deef65f99923ab5a
https://github.com/torvalds/linux/commit/95a762e2c8c942780948091f8f2a4f32fce1ac6f