Sårbarhet i xterm som leder till kodexekvering vid bearbetning av vissa strängar

En sårbarhet (CVE-2022-45063) har identifierats i xterm-terminalemulatorn, som gör att skalkommandon kan köras när vissa escape-sekvenser bearbetas i terminalen. För en attack i det enklaste fallet räcker det att visa innehållet i en specialdesignad fil, till exempel med hjälp av kattverktyget, eller klistra in en rad från klippbordet. printf "\e]50;i\$(touch /tmp/hack-like-its-1999)\a\e]50;?\a" > cve-2022-45063 cat cve-2022-45063

Problemet orsakas av ett fel i hanteringen av kod 50 escape-sekvensen som används för att ställa in eller hämta teckensnittsalternativ. Om det begärda teckensnittet inte finns returnerar operationen teckensnittsnamnet som anges i begäran. Du kan inte direkt infoga kontrolltecken i namnet, men den returnerade strängen kan avslutas med sekvensen "^G", som i zsh, när vi-stil linjeredigeringsläge är aktivt, gör att en listexpansionsoperation utförs, vilket kan användas för att köra kommandon utan att uttryckligen trycka på Enter-tangenten.

För att framgångsrikt utnyttja sårbarheten måste användaren använda Zsh-kommandoskalet med kommandoradsredigeraren (vi-cmd-läge) inställd på "vi"-läge, vilket vanligtvis inte används som standard i distributioner. Problemet visas inte heller när xterm-inställningarna allowWindowOps=false eller allowFontOps=false är inställda. Till exempel, allowFontOps=false är inställd i OpenBSD, Debian och RHEL, men tillämpas inte som standard i Arch Linux.

Att döma av listan över ändringar och uttalandet från forskaren som identifierade problemet fixades sårbarheten i xterm 375-utgåvan, men enligt andra källor fortsätter sårbarheten att dyka upp i xterm 375 från Arch Linux. Du kan spåra publiceringen av korrigeringar efter distributioner på dessa sidor: Debian, RHEL, Fedora, SUSE, Ubuntu, Arch Linux, OpenBSD, FreeBSD, NetBSD.

Källa: opennet.ru

Lägg en kommentar