Apa arti pesan kernel berikut?

12

Muncul di sini / var / log / messages, apa artinya itu?

  Feb 19 22:51:20  kernel: [  187.819487] non-matching-uid symlink following attempted in sticky world-writable directory by sh (fsuid 1001 != 0)

Itu terjadi ketika pekerjaan cron hendak dijalankan.

bunga aster
sumber

Jawaban:

9

Suatu proses istimewa dapat ditipu untuk menimpa file penting (/ etc / passwd, / etc / shadow, dll.) Dengan menunjuk symlink padanya. Misalnya, jika Anda tahu bahwa root akan menjalankan program yang membuat file di / tmp, Anda dapat meletakkan jebakan dengan menebak apa nama file itu (biasanya / tmp / fooXXX, dengan foo menjadi nama program dan XXX menjadi ID proses) dan isi / tmp dengan kandidat yang kemungkinan menunjuk pada / etc / shadow. Kemudian, root membuka file di / tmp, memotong dan menimpa / etc / shadow dan tiba-tiba tidak ada yang bisa login ke sistem lagi. Ada serangan terkait yang mengeksploitasi kondisi ras antara memeriksa keberadaan file temp dan pembuatan file.

Ada beberapa cara untuk menghindari masalah ini, termasuk penggunaan mktemp () dan mkstemp () secara hati-hati, tetapi tidak semua programmer dan pengguna akan mengetahui risiko ini. Sebagai hasilnya, patch kernel Linux diusulkan baru-baru ini dan ternyata itu telah diterapkan pada kernel yang Anda gunakan. Patch mencegah symlink berikut di salah satu situasi umum di mana link berbahaya mungkin telah ditanam: direktori yang dapat ditulis oleh dunia dengan set bit sticky, yang merupakan cara / tmp biasanya dikonfigurasi pada sistem Unix. Alih-alih mengikuti symlink, upaya panggilan sistem gagal dengan EACCES dan kernel mencatat pesan yang Anda lihat.

Beberapa obrolan terkait di milis kernel Linux.

Kyle Jones
sumber