LINUX.ORG.RU
ФорумTalks

Выполнение команд в KDE5 через название диска vfat

 kde5 решето


0

1

Эпичная дырень найдена в KDE Plasma 5. При монтировании диска USB отформатированного в vfat, существует возможность выполнить любую команду. Для этого достаточно создать раздел с меткой, содержащей `` или $(). Например, при монтировании USB диска с меткой раздела vfat «$(touch b)», в домашнем каталоге пользователя будет создан файл с названием «b». Уязвимость закрыта в Plasma >=5.12 и >=5.8.9 Подвержен только device notifier (иконка в трее). Монтирование через, например, Dolphin, является безопасным.

Подробности

Перемещено Shaman007 из security

anonymous

Как оно вообще так вышло? Небось на каком-нибудь скриптовом языке было написан софт, который не отличает код программы от данных и встретив в строке `` выполняет команду?

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Как оно вообще так вышло? Небось на каком-нибудь скриптовом языке было написан софт,

Как-как... Очень просто. c++. Обыкновенная детская иньекция

QString exec = m_service.exec();
     MacroExpander mx(device);
-    mx.expandMacros(exec);
+    mx.expandMacrosShellQuote(exec);
 
     KRun::runCommand(exec, QString(), m_service.icon(), 0);
     deleteLater();

Как будто на C++ кто-то помешает тупо загнать строку, зависящую от внешних данных, в вызов какого-нибудь ExecShellCommand без всяких проверок.

fornlr ★★★★★
()
Последнее исправление: fornlr (всего исправлений: 2)
Ответ на: комментарий от fornlr

exec shell command это и есть обращение к скриптовому языку

cvs-255 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.