Проблема присутствует в утилите «qvm-copy-to-vm» и вызвана ненадлежащей обработкой ошибок, возвращаемых при обращении к виртуальной машине. Суть уязвимости в том, что утилита qvm-copy-to-vm для отображения информации об ошибке запускала программы kdialog или zenity, используя функцию system() и подставляя сведения о неудачно скопированном файле в числе опций в командной строке. При этом чистка имени файла ограничивалась вырезанием не-ASCII-символов и двойных кавычек без проверки наличия спецсимволов, интерпретируемых командной оболочкой, таких как «`» и «$».
После завершения копирования файлов из хостовой системы обработчик на стороне виртуальной машины передаёт обратно подтверждение операции, в котором среди прочего указывается имя последнего полученного файла.
Атака сводится к возвращению кода ошибки вместо подтверждения и указанию для файла, который не удалось скопировать, имени с обрабатываемыми командным интерпретатором спецсимволами. После получения ошибки обработчик на стороне хостового окружения запустит командой system() утилиту для показа диалога с текстом ошибки, передав в командной строке возвращённое атакующим имя файла (например, при указании «file`id`» на стороне хостового окружения будет запущена команда id).
Источник: http://www.opennet.ru/opennews/art.shtml?num=66232
