"rm -rf", помилка у сторонній темі KDE дозволила виконати команду та видалила всі файли користувача

sudo rm

sudo rm

Скільки разів ми стикалися з відомий жарт (це більше ніж жарт, це зловмисний вчинок) із "sudo rm -rf" з діагоналлю (до кінця не розміщую так як може хтось переплутає і попереджаю що відповідальності не несу) який, якщо користувач запустив його неправильно на своєму терміналі, він може завершити без жодного файлу у своїй системі і перш за все залишитися без системи. Пов’язуючи цю дію з Windows, це щось подібне до того, якби користувач видалив папку system32, яка є чимось більш відомим, але ви не знаєте, це фактично залишає вашу систему марною, оскільки ви усуваєте все необхідне для її роботи.

Причина згадки про це така У Linux дуже часто користувачі видаляють файл або папку графічно, тобто шляхом вторинного клацання та «видалити», поки що все добре. Але коли ви переходите до чогось більш просунутого або користувач вважає за краще видалити щось з кореня і повністю, зазвичай використовується команда "rm", яка, якщо використовується з деяким аргументом, виконує завдання, застосовуючи певний тип інструкції, тобто, видалити не запитуючи (ви повинні бути обережними), видаліть папки та вкладені папки або, з іншого боку, видаліть, але постійно запитуючи, що робити з кожним файлом і папкою.

Ми вже трохи пояснили це для тих новачків, чия мета статті — повідомити про нещодавній інцидент і бути обережними з тим, що ви встановлюєте. Мотивація статті тому Кілька днів тому розробники KDE випустили рекомендацію de Не встановлюйте неофіційні глобальні теми та віджети для KDE.

Ця рекомендація була зроблена після того, як вони дізналися інцидент, коли користувач зіткнувся з видаленням усіх своїх особистих файлів під час встановлення теми Grey Layout із магазину KDE, який мав близько 4000 завантажень. Вважається, що цей інцидент був викликаний не зловмисним наміром, а скоріше помилкою, пов’язаною з небезпечним використанням команди «rm -rf».

Розробники поясніть, що глобальні теми KDE дозволяють використовувати плазмоїди, які виконують довільні команди, включаючи ті, які можуть видаляти файли.

Це може статися, коли в коді використовуються такі конструкції, як "rm -rf $VAR/*", що може призвести до ситуації, коли змінна $VAR не ініціалізується, що призводить до фактичного виконання "rm -rf /*" команда. ». Подібні помилки раніше спостерігалися в сценаріях ініціалізації або встановлення інших програм, таких як Squid, Steam, yandex-disk-indicator і bumblebee.

Конкретний інцидент стався через виклик коду віджета PlasmaConfSaver, який включає сценарій save.sh, призначений для видалення старих файлів конфігурації з попередньої інсталяції. Цей сценарій використовує команду "rm -Rf "$configFolder", але код не перевіряє належним чином конфігурацію змінної $configFolder, значення якої передається через аргумент командного рядка ("configFolder=$2"). Це може призвести до ситуацій, коли значення змінної configFolder буде неправильно інтерпретовано, що призведе до ненавмисного видалення всіх даних користувача.

Щоб запобігти повторенню такої ситуації в майбутньому, Розробники KDE планують перевірити теми сторонніх розробників, опубліковані в каталозі KDE Store виявити можливі помилки, подібні до попереднього інциденту. Вони також розглядають можливість додавання попереджень під час встановлення тем від сторонніх користувачів і оцінку можливості впровадження попереднього перегляду проектів, розміщених у магазині KDE, щоб запобігти вибірковому розміщенню тем зловмисниками зі зловмисними намірами, такими як крадіжка конфіденційних даних або виконання процесів , щоб маніпулювати номерами крипто-гаманців у буфері обміну магазину KDE.

Важливо це зазначити багато користувачів не знають, що встановлення теми може виконувати код, що може призвести до недостатньої уваги до безпеки під час встановлення тем. Глобальні теми не лише впливають на візуальний вигляд, але також можуть змінювати поведінку Плазми, включаючи ваші власні реалізації блокувальників екрана та інших аплетів, які виконують код. Через обмеження ресурсів проекти в каталозі магазину KDE не перевіряються ретельно та публікуються переважно на основі довіри, навіть якщо будь-хто може зареєструвати проекти в каталозі.

Якщо ви є зацікавлений дізнатися більше про це, Ви можете перевірити деталі в наступне посилання.