Stack Clash adalah eksploitasi berdasarkan teknik yang cukup lama. Memori yang digunakan oleh suatu proses dibagi menjadi dua wilayah - tumpukan dan tumpukan . Orang biasanya membayangkan tumpukan tumbuh ke bawah dan tumpukan tumbuh ke atas. Apa yang terjadi ketika salah satu tumbuh cukup untuk berbenturan dengan yang lain? Lebih umum, apa yang terjadi ketika tumpukan tumbuh cukup untuk merambah ruang memori yang tidak terkait? Kerentanan asli adalah 12 tahun, dan pengembang kernel Linux memperbaikinya sementara dengan menggunakan halaman penjaga . Namun, para peneliti di Qualys telah berhasil mengeksploitasi ini meskipun ada halaman penjaga.
Ars Arsica melaporkan :
Kerentanan Stack Clash perlahan-lahan memperoleh kesadaran luas, pertama pada tahun 2005 dengan temuan peneliti keamanan Gaël Delalleau dan lima tahun kemudian dengan rilis kerentanan Linux oleh peneliti Rafal Wojtczuk. Pengembang Linux
memperkenalkan perlindungan yang dimaksudkan untuk mencegah bentrokan tumpukan, tetapi penelitian hari ini menunjukkan bahwa relatif mudah bagi penyerang untuk memotong ukuran itu.
Serangan proof-of-concept utama yang dikembangkan oleh Qualys mengeksploitasi kerentanan yang diindeks sebagai CVE-2017-1000364. Peneliti Qualys juga mengembangkan serangan yang menggunakan Stack Clash untuk mengeksploitasi kerentanan yang terpisah, termasuk CVE-2017-1000365 dan CVE-2017-1000367. Misalnya, ketika dikombinasikan dengan CVE-2017-1000367, cacat yang baru-baru ini diperbaiki di Sudo juga ditemukan oleh Qualys, pengguna lokal dapat mengeksploitasi Sudo untuk mendapatkan hak akses root penuh pada rentang OS yang jauh lebih luas. Qualys sejauh ini tidak dapat melakukan eksploitasi mengeksekusi kode. Satu-satunya aplikasi jarak jauh yang mereka selidiki adalah server email Exim, yang secara kebetulan ternyata tidak dapat dieksploitasi. Qualys mengatakan tidak bisa mengesampingkan kemungkinan eksploitasi eksekusi kode jarak jauh seperti itu ada. Qualys mengatakan akan merilis eksploitasi konsep bukti di kemudian hari,
[...] Lebih banyak informasi tersedia dalam konsultasi teknis terperinci ini dari Qualys dan analisis teknis dari grsecurity ini .
Mengutip artikel LWN tentang perbaikan asli dari 2010:
Karena Linux tidak memisahkan proses stack dan heap pages, memungkinkan overrunning halaman stack ke halaman heap yang berdekatan. Itu berarti bahwa tumpukan yang cukup dalam (dari panggilan rekursif misalnya) dapat berakhir menggunakan memori di heap. Suatu program yang dapat menulis ke halaman tumpukan itu (misalnya klien X) kemudian dapat memanipulasi alamat pengirim salah satu panggilan untuk melompat ke tempat yang dipilihnya. Itu berarti bahwa klien dapat menyebabkan server menjalankan kode pilihannya — eksekusi kode arbitrer — yang dapat dimanfaatkan untuk mendapatkan hak akses root.
Deskripsi di atas berlaku untuk berbagai kernel mirip Unix.
Sementara Ars Technica tidak mencatat solusi sementara yang disebutkan dalam laporan Qualys ("atur RLIMIT STACK dan RLIMIT_AS dari pengguna lokal dan layanan jarak jauh ke nilai rendah"), perlu dicatat bahwa ini tidak selalu melindungi dari eksploitasi ini . Satu-satunya jalan keluar yang aman saat ini adalah memutakhirkan. Menurut analisis grsecurity:
Seharusnya jelas bahwa hanya upaya kernel untuk menyelesaikan masalah ini akan selalu tidak lengkap, karena masalah sebenarnya terletak pada kurangnya stack probing. Karena solusi nyata alternatif tergantung pada pembangunan kembali semua lahan pengguna, ini kemungkinan merupakan satu-satunya solusi yang layak untuk masa mendatang.
Yang terbaik yang bisa kita lakukan sekarang adalah meningkatkan kernel ke versi yang ditambal.
Eksploitasi 2010 menggunakan server X, yang ini menggunakan sudo, yang berikutnya bisa berupa banyak program userland yang, di beberapa titik, dijalankan di bawah hak istimewa yang tinggi.
Qualys belum menerbitkan kode bukti konsep untuk eksploitasi (mereka berencana untuk melakukannya di kemudian hari).
Ada beberapa Pemberitahuan Keamanan Ubuntu yang terkait dengan CVE-2017-1000364:
Perhatikan juga bahwa pelacak CVE mencantumkan beberapa kombinasi rilis / kernel sebagai perbaikan yang tertunda.
Secara umum, perbaikan paling sederhana adalah memperbarui sistem Anda ke paket kernel terbaru ASAP.
Versi kernel yang relevan dari USN (dimusnahkan menggunakan for i in {24..35}; curl -s https://www.ubuntu.com/usn/usn-33$i-1/ | pup 'dl:nth-last-of-type(1)'
):
-
Ubuntu 17.04:
-
linux-image-4.10.0-24-lowlatency
4.10.0-24.28
-
linux-image-generic-lpae
4.10.0.24.26
-
linux-image-generic
4.10.0.24.26
-
linux-image-4.10.0-24-generic-lpae
4.10.0-24.28
-
linux-image-4.10.0-24-generik
4.10.0-24.28
-
linux-image-lowlatency
4.10.0.24.26
-
Ubuntu 17.04:
-
linux-image-4.10.0-1008-raspi2
4.10.0-1008.11
-
linux-image-raspi2
4.10.0.1008.10
-
Ubuntu 16.10:
-
linux-image-powerpc-smp
4.8.0.56.69
-
linux-image-powerpc-e500mc
4.8.0.56.69
-
linux-image-4.8.0-56-powerpc-smp
4.8.0-56.61
-
linux-image-4.8.0-56-powerpc-e500mc
4.8.0-56.61
-
linux-image-4.8.0-56-lowlatency
4.8.0-56.61
-
linux-image-generic
4.8.0.56.69
-
linux-image-4.8.0-56-generic
4.8.0-56.61
-
linux-image-powerpc64-emb
4.8.0.56.69
-
linux-image-virtual
4.8.0.56.69
-
linux-image-powerpc64-smp
4.8.0.56.69
-
linux-image-4.8.0-56-generic-lpae
4.8.0-56.61
-
linux-image-generic-lpae
4.8.0.56.69
-
linux-image-lowlatency
4.8.0.56.69
-
linux-image-4.8.0-56-powerpc64-emb
4.8.0-56.61
-
Ubuntu 16.10:
-
linux-image-4.8.0-1040-raspi2
4.8.0-1040.44
-
linux-image-raspi2
4.8.0.1040.44
-
Ubuntu 16.04 LTS:
-
linux-image-powerpc64-smp-lts-utopic
4.4.0.81.87
-
linux-image-generic-lts-wily
4.4.0.81.87
-
linux-image-generic-lts-utopic
4.4.0.81.87
-
linux-image-4.4.0-81-generic-lpae
4.4.0-81.104
-
linux-image-powerpc64-emb-lts-vivid
4.4.0.81.87
-
linux-image-powerpc-e500mc
4.4.0.81.87
-
linux-image-generic-lpae-lts-xenial
4.4.0.81.87
-
linux-image-generic-lpae-lts-utopic
4.4.0.81.87
-
linux-image-powerpc-e500mc-lts-xenial
4.4.0.81.87
-
linux-image-4.4.0-81-powerpc64-emb
4.4.0-81.104
-
linux-image-powerpc-e500mc-lts-wily
4.4.0.81.87
-
linux-image-4.4.0-81-powerpc-e500mc
4.4.0-81.104
-
linux-image-generic-lpae-lts-wily
4.4.0.81.87
-
linux-image-virtual-lts-vivid
4.4.0.81.87
-
linux-image-virtual-lts-utopic
4.4.0.81.87
-
linux-image-virtual
4.4.0.81.87
-
linux-image-powerpc64-emb-lts-wily
4.4.0.81.87
-
linux-image-lowlatency-lts-vivid
4.4.0.81.87
-
linux-image-powerpc-e500mc-lts-vivid
4.4.0.81.87
-
linux-image-powerpc64-emb
4.4.0.81.87
-
linux-image-powerpc-smp-lts-xenial
4.4.0.81.87
-
linux-image-4.4.0-81-generik
4.4.0-81.104
-
linux-image-powerpc64-smp-lts-vivid
4.4.0.81.87
-
linux-image-lowlatency-lts-wily
4.4.0.81.87
-
linux-image-4.4.0-81-lowlatency
4.4.0-81.104
-
linux-image-generic
4.4.0.81.87
-
linux-image-lowlatency-lts-xenial
4.4.0.81.87
-
linux-image-powerpc64-smp-lts-xenial
4.4.0.81.87
-
linux-image-powerpc64-emb-lts-utopic
4.4.0.81.87
-
linux-image-generic-lts-xenial
4.4.0.81.87
-
linux-image-generic-lts-vivid
4.4.0.81.87
-
linux-image-powerpc-e500mc-lts-utopic
4.4.0.81.87
-
linux-image-powerpc-smp
4.4.0.81.87
-
linux-image-4.4.0-81-powerpc-smp
4.4.0-81.104
-
linux-image-generic-lpae-lts-vivid
4.4.0.81.87
-
linux-image-generic-lpae
4.4.0.81.87
-
linux-image-powerpc64-smp-lts-wily
4.4.0.81.87
-
linux-image-powerpc64-emb-lts-xenial
4.4.0.81.87
-
linux-image-powerpc-smp-lts-wily
4.4.0.81.87
-
linux-image-virtual-lts-wily
4.4.0.81.87
-
linux-image-powerpc64-smp
4.4.0.81.87
-
linux-image-4.4.0-81-powerpc64-smp
4.4.0-81.104
-
linux-image-powerpc-smp-lts-utopic
4.4.0.81.87
-
linux-image-powerpc-smp-lts-vivid
4.4.0.81.87
-
linux-image-lowlatency
4.4.0.81.87
-
linux-image-virtual-lts-xenial
4.4.0.81.87
-
linux-image-lowlatency-lts-utopic
4.4.0.81.87
-
Ubuntu 16.04 LTS:
-
linux-image-4.4.0-1016-gke
4.4.0-1016.16
-
Ubuntu 16.04 LTS:
-
linux-image-snapdragon
4.4.0.1061.54
-
linux-image-4.4.0-1061-snapdragon
4.4.0-1061.66
-
Ubuntu 16.04 LTS:
-
linux-image-4.4.0-1020-aws
4.4.0-1020.29
-
Ubuntu 16.04 LTS:
-
linux-image-raspi2
4.4.0.1059.60
-
linux-image-4.4.0-1059-raspi2
4.4.0-1059.67
-
Ubuntu 16.04 LTS:
-
linux-image-4.8.0-56-powerpc-smp
4.8.0-56.61 ~ 16.04.1
-
linux-image-4.8.0-56-powerpc-e500mc
4.8.0-56.61 ~ 16.04.1
-
linux-image-4.8.0-56-lowlatency
4.8.0-56.61 ~ 16.04.1
-
linux-image-4.8.0-56-generic
4.8.0-56.61 ~ 16.04.1
-
linux-image-generic-hwe-16.04
4.8.0.56.27
-
linux-image-lowlatency-hwe-16.04
4.8.0.56.27
-
linux-image-4.8.0-56-generic-lpae
4.8.0-56.61 ~ 16.04.1
-
linux-image-virtual-hwe-16.04
4.8.0.56.27
-
linux-image-generic-lpae-hwe-16.04
4.8.0.56.27
-
linux-image-4.8.0-56-powerpc64-emb
4.8.0-56.61 ~ 16.04.1
-
Ubuntu 14.04 LTS:
-
linux-image-powerpc-smp-lts-xenial
4.4.0.81.66
-
linux-image-lowlatency-lts-xenial
4.4.0.81.66
-
linux-image-4.4.0-81-powerpc-smp
4.4.0-81.104 ~ 14.04.1
-
linux-image-4.4.0-81-powerpc-e500mc
4.4.0-81.104 ~ 14.04.1
-
linux-image-4.4.0-81-lowlatency
4.4.0-81.104 ~ 14.04.1
-
linux-image-4.4.0-81-generic-lpae
4.4.0-81.104 ~ 14.04.1
-
linux-image-generic-lpae-lts-xenial
4.4.0.81.66
-
linux-image-powerpc64-smp-lts-xenial
4.4.0.81.66
-
linux-image-4.4.0-81-generik
4.4.0-81.104 ~ 14.04.1
-
linux-image-4.4.0-81-powerpc64-smp
4.4.0-81.104 ~ 14.04.1
-
linux-image-generic-lts-xenial
4.4.0.81.66
-
linux-image-powerpc64-emb-lts-xenial
4.4.0.81.66
-
linux-image-powerpc-e500mc-lts-xenial
4.4.0.81.66
-
linux-image-virtual-lts-xenial
4.4.0.81.66
-
linux-image-4.4.0-81-powerpc64-emb
4.4.0-81.104 ~ 14.04.1
-
Ubuntu 14.04 LTS:
-
linux-image-powerpc-e500mc
3.13.0.121.131
-
linux-image-lowlatency-pae
3.13.0.121.131
-
linux-image-3.13.0-121-powerpc64-emb
3.13.0-121.170
-
linux-image-generic-pae
3.13.0.121.131
-
linux-image-3.13.0-121-powerpc-smp
3.13.0-121.170
-
linux-image-3.13.0-121-powerpc-e500mc
3.13.0-121.170
-
linux-image-3.13.0-121-powerpc-e500
3.13.0-121.170
-
linux-image-3.13.0-121-generic-lpae
3.13.0-121.170
-
linux-image-generic-lts-quantal
3.13.0.121.131
-
linux-image-virtual
3.13.0.121.131
-
linux-image-powerpc-e500
3.13.0.121.131
-
linux-image-generic-lts-
trusty 3.13.0.121.131
-
linux-image-3.13.0-121-generic
3.13.0-121.170
-
linux-image-omap
3.13.0.121.131
-
linux-image-powerpc64-emb
3.13.0.121.131
-
linux-image-3.13.0-121-powerpc64-smp
3.13.0-121.170
-
linux-image-generic
3.13.0.121.131
-
linux-image-highbank
3.13.0.121.131
-
linux-image-generic-lts-saucy
3.13.0.121.131
-
linux-image-powerpc-smp
3.13.0.121.131
-
linux-image-3.13.0-121-lowlatency
3.13.0-121.170
-
linux-image-generic-lpae-lts-saucy
3.13.0.121.131
-
linux-image-generic-lts-
raring 3.13.0.121.131
-
linux-image-powerpc64-smp
3.13.0.121.131
-
linux-image-generic-lpae-lts-
trusty 3.13.0.121.131
-
linux-image-generic-lpae
3.13.0.121.131
-
linux-image-lowlatency
3.13.0.121.131
-
Ubuntu 12.04 ESM:
-
linux-image-powerpc-smp
3.2.0.128.142
-
linux-image-3.2.0-128-virtual
3.2.0-128.173
-
linux-image-3.2.0-128-generic-pae
3.2.0-128.173
-
linux-image-generic
3.2.0.128.142
-
linux-image-generic-pae
3.2.0.128.142
-
linux-image-highbank
3.2.0.128.142
-
linux-image-3.2.0-128-highbank
3.2.0-128.173
-
linux-image-3.2.0-128-powerpc-smp
3.2.0-128.173
-
linux-image-virtual
3.2.0.128.142
-
linux-image-powerpc64-smp
3.2.0.128.142
-
linux-image-3.2.0-128-omap
3.2.0-128.173
-
linux-image-3.2.0-128-powerpc64-smp
3.2.0-128.173
-
linux-image-omap
3.2.0.128.142
-
linux-image-3.2.0-128-generic
3.2.0-128.173
-
Ubuntu 12,04 LTS:
-
linux-image-3.13.0-121-generic
3.13.0-121.170 ~ presisi1
-
linux-image-generic-lpae-lts-
trusty 3.13.0.121.112
-
linux-image-generic-lts-
trusty 3.13.0.121.112
-
linux-image-3.13.0-121-generic-lpae
3.13.0-121.170 ~ presisi1
Sudo
Bug sudo tersebut dicakup oleh USN-3304-1 , mulai 30 Mei 2017:
-
Ubuntu 17.04:
-
sudo-ldap
1.8.19p1-1ubuntu1.1
-
sudo
1.8.19p1-1ubuntu1.1
-
Ubuntu 16.10:
-
sudo-ldap
1.8.16-0ubuntu3.2
-
sudo
1.8.16-0ubuntu3.2
-
Ubuntu 16.04 LTS:
-
sudo-ldap
1.8.16-0ubuntu1.4
-
sudo
1.8.16-0ubuntu1.4
-
Ubuntu 14.04 LTS:
-
sudo-ldap
1.8.9p5-1ubuntu1.4
-
sudo
1.8.9p5-1ubuntu1.4