En cuantas ocasiones nos hemos topado con la famosa broma (que más que broma es un acto mal intencionado) del «sudo rm -rf» con una diagonal (no lo coloco completo dado que puede venir algún despistado y advierto que no me hago responsable) el cual si un usuario lo ejecuta mal en su terminal puede terminal sin un solo archivo en su sistema y sobre todo quedarse sin sistema. Relacionando este acto con Windows, es algo similar a que si el usuario borrara la carpeta system32 lo cual es algo más conocido, pero sí desconoces, es básicamente dejar tu sistema inservible, ya que estás eliminando todo lo necesario para su funcionamiento.
La razón de mencionar esto, es que en Linux es muy común que los usuarios eliminen algún archivo o carpeta de manera gráfica, es decir, dando clic secundario y "eliminar", hasta aquí todo bien. Pero cuando ya se entra en algo más avanzado o el usuario prefiere eliminar de raiz y por completo algo, se suele ocupar el comando «rm» el cual si se utiliza con algún argumento realiza la tarea aplicando algún tipo de instrucción, es decir, eliminar sin preguntar (se debe tener cuidado), eliminar carpetas y sub carpetas o, por otra parte, eliminar, pero preguntando en todo momento que se debe hacer con cada archivo y carpeta.
Ya habiendo explicando un poco esto para aquellos novatos, cuya finalidad del artículo es informar sobre un reciente incidente y tengan cuidado con lo que instalan. El motivó del artículo es debido a que hace unos dias los desarrolladores de KDE emitieron una recomendación de no instalar temas y widgets globales no oficiales para KDE.
Esta recomendación la realizaron después de que se enteraron de un incidente en el que un usuario experimentó la eliminación de todos sus archivos personales al instalar el tema Gray Layout desde la Tienda KDE, el cual tenía alrededor de 4000 descargas. Se cree que este incidente no fue causado por intenciones maliciosas, sino por un error relacionado con el uso inseguro del comando «rm -rf».
Los desarrolladores explican que los temas globales de KDE permiten el uso de plasmoides que ejecutan comandos arbitrarios, incluidos aquellos que pueden eliminar archivos.
Esto puede ocurrir cuando se utilizan construcciones como «rm -rf $VAR/*» en el código, lo que puede llevar a una situación donde la variable $VAR no esté inicializada, resultando en la ejecución real del comando «rm -rf /*». Errores similares se han visto anteriormente en scripts de inicialización o instalación de otros programas como Squid, Steam, yandex-disk-indicator y bumblebee.
El incidente específico ocurrió debido a una llamada al código del widget PlasmaConfSaver, que incluye un script save.sh diseñado para eliminar archivos de configuración antiguos de una instalación previa. Este script utiliza el comando «rm -Rf «$configFolder», pero el código no verifica adecuadamente la configuración de la variable $configFolder, cuyo valor se pasa a través del argumento de línea de comando («configFolder=$2»). Esto puede llevar a situaciones donde el valor de la variable configFolder se malinterprete, resultando en la eliminación inadvertida de todos los datos del usuario.
Para evitar que esta situación vuelva a situarse a futuro, los desarrolladores de KDE están planeando auditar los temas de terceros publicados en el directorio de la Tienda KDE para identificar posibles errores similares al incidente previo. También están considerando agregar advertencias al instalar temas de usuarios de terceros y evalúan la posibilidad de implementar una selección previa de proyectos alojados en la Tienda KDE para evitar la colocación selectiva de temas por parte de atacantes con intenciones maliciosas, como robar datos confidenciales o ejecutar procesos para manipular números de billetera criptográfica en el portapapeles de la tienda KDE.
Es importante destacar que muchos usuarios no son conscientes de que la instalación de un tema puede ejecutar código, lo que puede llevar a una falta de atención a la seguridad al instalar temas. Los temas globales no solo afectan la apariencia visual, sino que también pueden modificar el comportamiento de Plasma al incluir implementaciones propias de bloqueadores de pantalla y otros subprogramas que ejecutan código. Debido a limitaciones de recursos, los proyectos en el directorio de la Tienda KDE no se verifican de manera exhaustiva y se publican principalmente basándose en la confianza, a pesar de que cualquiera puede registrar proyectos en el directorio.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.