Kerentanan dalam xterm yang membawa kepada pelaksanaan kod apabila memproses rentetan tertentu

Kerentanan (CVE-2022-45063) telah dikenal pasti dalam emulator terminal xterm, yang membolehkan perintah shell dilaksanakan apabila urutan pelarian tertentu diproses dalam terminal. Untuk serangan dalam kes paling mudah, cukup untuk memaparkan kandungan fail yang direka khas, contohnya, menggunakan utiliti kucing, atau menampal garisan dari papan keratan. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Masalahnya disebabkan oleh ralat dalam pengendalian urutan pelarian kod 50 yang digunakan untuk menetapkan atau mendapatkan semula pilihan fon. Jika fon yang diminta tidak wujud, operasi mengembalikan nama fon yang dinyatakan dalam permintaan. Anda tidak boleh terus memasukkan aksara kawalan ke dalam nama, tetapi rentetan yang dikembalikan boleh ditamatkan dengan urutan "^G", yang dalam zsh, apabila mod penyuntingan baris gaya vi aktif, menyebabkan operasi pengembangan senarai dilakukan, yang boleh digunakan untuk menjalankan arahan tanpa menekan kekunci Enter secara eksplisit.

Untuk berjaya mengeksploitasi kelemahan, pengguna mesti menggunakan shell arahan Zsh dengan editor baris arahan (vi-cmd-mode) ditetapkan kepada mod "vi", yang biasanya tidak digunakan secara lalai dalam pengedaran. Masalahnya juga tidak muncul apabila tetapan xterm allowWindowOps=false atau allowFontOps=false ditetapkan. Sebagai contoh, allowFontOps=false ditetapkan dalam OpenBSD, Debian dan RHEL, tetapi tidak digunakan secara lalai dalam Arch Linux.

Berdasarkan senarai perubahan dan kenyataan penyelidik yang mengenal pasti masalah, kelemahan telah diperbaiki dalam keluaran xterm 375, tetapi menurut sumber lain, kelemahan itu terus muncul dalam xterm 375 dari Arch Linux. Anda boleh menjejaki penerbitan pembetulan melalui pengedaran pada halaman ini: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Sumber: opennet.ru

Tambah komen