Belirli satırları işlerken xterm'de kod yürütülmesine yol açan güvenlik açığı

Xterm terminal emülatöründe, terminalde belirli kaçış dizileri işlendiğinde kabuk komutlarının yürütülmesine izin veren bir güvenlik açığı (CVE-2022-45063) belirlendi. En basit durumda bir saldırı için, özel olarak tasarlanmış bir dosyanın içeriğini, örneğin cat yardımcı programını kullanarak görüntülemek veya panodan bir satır yapıştırmak yeterlidir. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Sorun, yazı tipi seçeneklerini ayarlamak veya almak için kullanılan code 50 çıkış sırasının işlenmesindeki bir hatadan kaynaklanmaktadır. İstenilen yazı tipi mevcut değilse işlem, istekte belirtilen yazı tipi adını döndürür. Kontrol karakterlerini doğrudan isme ekleyemezsiniz, ancak döndürülen dize "^G" dizisiyle sonlandırılabilir; bu, zsh'de, vi tarzı satır düzenleme modu etkin olduğunda, bir liste genişletme işleminin gerçekleştirilmesine neden olur; bu, Enter tuşuna açıkça basmadan komutları çalıştırmak için kullanılabilir.

Bu güvenlik açığından başarıyla yararlanmak için kullanıcının Zsh komut kabuğunu, komut satırı düzenleyicisini (vi-cmd-mode) "vi" moduna ayarlayarak kullanması gerekir; bu genellikle dağıtımlarda varsayılan olarak kullanılmaz. Xterm ayarları AllowWindowOps=false veya AllowFontOps=false ayarlandığında da sorun görünmüyor. Örneğin, AllowFontOps=false OpenBSD, Debian ve RHEL'de ayarlanmıştır ancak Arch Linux'ta varsayılan olarak uygulanmaz.

Değişiklik listesine ve sorunu tespit eden araştırmacının açıklamasına bakılırsa güvenlik açığı xterm 375 sürümünde giderildi ancak diğer kaynaklara göre güvenlik açığı Arch Linux'tan xterm 375'te görünmeye devam ediyor. Düzeltmelerin yayınlarını dağıtımlara göre şu sayfalardan takip edebilirsiniz: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Kaynak: opennet.ru

Yorum ekle