Kerentanan di xterm menyebabkan eksekusi kode saat memproses baris tertentu

Kerentanan (CVE-2022-45063) telah diidentifikasi di emulator terminal xterm, yang memungkinkan perintah shell dijalankan ketika urutan escape tertentu diproses di terminal. Untuk serangan dalam kasus paling sederhana, cukup menampilkan konten file yang dirancang khusus, misalnya menggunakan utilitas cat, atau menempelkan baris dari clipboard. printf "\e]50;i\$(sentuh /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Masalah tersebut disebabkan oleh kesalahan dalam penanganan escape sequence kode 50 yang digunakan untuk mengatur atau mengambil opsi font. Jika font yang diminta tidak ada, operasi akan mengembalikan nama font yang ditentukan dalam permintaan. Anda tidak dapat langsung memasukkan karakter kontrol ke dalam nama, tetapi string yang dikembalikan dapat diakhiri dengan urutan "^G", yang di zsh, ketika mode pengeditan baris gaya vi aktif, menyebabkan operasi perluasan daftar dilakukan, yang dapat digunakan untuk menjalankan perintah tanpa menekan tombol Enter secara eksplisit.

Agar berhasil mengeksploitasi kerentanan, pengguna harus menggunakan shell perintah Zsh dengan editor baris perintah (mode vi-cmd) diatur ke mode β€œvi”, yang biasanya tidak digunakan secara default dalam distribusi. Masalah juga tidak muncul ketika pengaturan xtermallowWindowOps=false atauallowFontOps=false disetel. Misalnya, AllowFontOps=false diatur di OpenBSD, Debian, dan RHEL, tetapi tidak diterapkan secara default di Arch Linux.

Dilihat dari daftar perubahan dan pernyataan peneliti yang mengidentifikasi masalah, kerentanan telah diperbaiki pada rilis xterm 375, namun menurut sumber lain, kerentanan terus muncul di xterm 375 dari Arch Linux. Anda dapat melacak publikasi perbaikan berdasarkan distribusi di halaman ini: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Sumber: opennet.ru

Tambah komentar