Skip to main content

a silhouette of a person's head and shoulders, used as a default avatar

plasma-login-manager: Weaknesses in plasmaloginauthhelper (CVE-2026-25710)

Table of Contents

1) Introduction

In recent releases of the KDE desktop environment a fork of the SDDM display manager called plasma-login-manager has been integrated. As usual this led to a review in our team for the privileged D-Bus components contained in the package. While most of the code remains the same, the new upstream added a privileged D-Bus helper called plasmaloginauthhelper, which suffers from defense-in-depth security issues. The full details of the issues will be discussed in the following sections.

For this review we looked into plasma-login-manager version 6.6.2.

2) Helper Overview

plasmaloginauthhelper makes the D-Bus interface “org.kde.kcontrol.kcmplasmalogin” accessible to all users in the system via the D-Bus system bus. It offers three actions sync(), reset() and save() which are all by default protected by Polkit’s auth_admin setting.

These methods allow to manage configuration data stored in the home directory of the plasmalogin service user, which has a preset of /var/lib/plasmalogin. The helper runs with full root privileges and interprets various client-supplied data. The plasmalogin home directory has the following permissions:

drwxr-x--- 5 plasmalogin plasmalogin 4.0K Mar 24 13:25

Actually this helper is also a kind of fork of a helper found in the sddm-kcm repository, which we covered in a previous report. It seems the codebase has not improved since then, but rather additional attack surface has been added in the meantime.

3) Security Issues

In the sync() method the helper service naively performs chown() calls on files located in the service user’s home directory (/var/lib/plasmalogin), allowing a plasmalogin to root exploit.

The chown() is performed for the paths $PLASMALOGIN_HOME/.config, $PLASMALOGIN_HOME/.config/fontconfig as well for a list of configuration files like plasmarc placed into $PLASMALOGIN_HOME/.config.

A compromised plasmalogin service account can place symbolic links here to direct the chown() to arbitrary files in the system. After the chown() the helper writes client-supplied content into these files, which will also end up in arbitrary files in case of a symlink attack.

This method’s logic would also allow deletion of certain files like plasmarc in arbitrary directories, would the relevant statement in the service implementation not lack the final filename component in the path construction:

QFile(homeDir + QStringLiteral("/.config/")).remove();

Thus this removal logic doesn’t work at all at the moment, since it attempts to remove the .config directory instead of the actual configuration files.

3.b) Arbitrary File Deletion in reset() Method

In the reset() method the paths $PLASMALOGIN_HOME/.cache and $PLASMALOGIN_HOME/.config/fontconfig are recursively deleted. For this purpose the Qt API QDir::removeRecursively() is used. The implementation of this function follows symbolic links even in the final path component, which means that a compromised plasmalogin service user can leverage this logic to achieve the deletion of arbitrary directory trees in the system.

In the save() method the path /var/lib/plasmalogin/wallpapers is created and opened by root, using a system call sequence affected by a race condition. A compromised plasmalogin user can replace the directory by a symbolic link in time for the service to write wallpaper files to arbitrary locations in the system, leading to local Denial-of-Service (DoS) and integrity violation.

In this spot the helper employs a low-level openat2() system call to avoid symbolic link resolution, but this only applies to the actual files placed within the wallpaper directory, not to the directory itself, which is naively opened before that.

3.d) Missing Integrity Check of Configuration Data in save() Method

In the save() method the contents of the file /etc/plasmalogin.conf can be completely controlled by the caller. Since this method is protected by auth_admin Polkit authentication this is basically acceptable, but there is not even an integrity or syntax check of the data, the method blindly forwards whatever the client passes to it into this file, without a maximum size limit or any sanity checks. While this is not directly a security issue it is a lack of robustness, because the D-Bus service is responsible for maintaining a sane structure of the privileged configuration file, preventing a broken system e.g. in case of buggy clients.

3.e) Lack of File Descriptor and File Size Verification in save() Method

For the actual wallpaper files, file descriptor passing is employed, which is good. There is no upper limit enforced on the amount of data placed into the wallpapers directory, however, which allows to exhaust disk space in /var/lib/plasmalogin.

Even file descriptors passed from clients should be verified to check whether they refer to regular files and have no unexpected file flags set. This verification is missing.

4) Suggested Fixes

We suggested the following fixes to upstream:

  • Foremost the helper should drop privileges to the plasmalogin user before performing any file system operations in /var/lib/plasmalogin, thereby eliminating all symlink attack surface. There still remains Denial-of-Service (DoS) attack surface if the service user places e.g. a named FIFO pipe somewhere. Avoiding this requires careful inspection of each path component by the service before opening it.
  • The helper should verify the structure and size of data written to /etc/plasmalogin.conf.
  • The helper should place a limit on the maximum amount of space which may be used for wallpapers in the plasmalogin user’s home directory.
  • The helper should verify the type and flags of file descriptors passed by the client. The descriptors should not have special file types and they should not have any unexpected flags like O_PATH set.

5) Severity

None of the issues in this report is exploitable in a default installation of plasma-login-manager. Most of the problems affect the situation when the plasmalogin service user is compromised and thus affect defense-in-depth.

It is conceivable, however, that some actions in the helper, like the wallpaper management, could be reduced to lesser authentication requirements like a Polkit yes setting for locally logged-in users in the future, be it due to upstream changes or due to choices made by system integrators. Then further problems like disk space exhaustion by other unprivileged users could sneak in as well.

Based on the high severity of the defense-in-depth issues shown in this report, our assessment is that there is effectively no separation between root and the plasmalogin service user account.

6) Upstream Bugfix

At this time there is no bugfix available by upstream, but a security fix is planned for the next Plasma release on May 12. We have not been involved in upstream’s bugfix process so far and have no knowledge about the approach that will be taken to address the issues from this report.

7) CVE Assignment

We suggested a single CVE assignment relating to the lack of privilege drop of the D-Bus service, which is the root cause of most of the issues described in this report. In coordination with upstream we assigned CVE-2026-25710 and shared it with them to track these defects.

8) Timeline

2026-03-30 We reached out to security@kde.org with a report of the problems, offering coordinated disclosure. We stated that in our eyes, due to the issues being restricted to defense-in-depth, an embargo would not be strictly necessary.
2026-03-30 Upstream provided a short reply, asking for a CVE assignment.
2026-03-31 We assigned CVE-2026-25710 and shared it with upstream.
2026-04-13 Lacking a more detailed response from upstream we asked once more whether they would like to perform coordinated disclosure and what the desired coordinated release date (CRD) would be in that case.
2026-04-13 We received a reply from upstream stating that no coordinated disclosure would be necessary and bugfixes would be published via public pull requests soon in expectation of a security release on May 12.
2026-04-13 To be sure we asked upstream once more whether they agreed to us publishing the report right away.
2026-04-20 Lacking a response and with no visible publication on upstream’s end we asked once more if publication on our end would be acceptable for them.
2026-04-21 We received a response confirming that we were allowed to publish right away.

9) References

the avatar of Nathan Wolf
a silhouette of a person's head and shoulders, used as a default avatar

Victorhck in the free world cumple 15 años

Finalmente pasó. Quedamos cuatro gatos escribiendo en esto de los blogs, uno de los medios digitales, junto con los foros, que encuentro perfectamente equilibrado entre novedad y duración (probad de buscar una noticia de hace un mes en un hilo de cualquier red social). Es por ello que me complace compartir los éxitos de un «blog hermano» como es el de Victorhck in the free world que cumple 15 años ofreciendo artículos de calidad llenos de ética. Todo un referente que no podéis dejar de seguir.

Victorhck in the free world cumple 15 años

 Si de algo estoy orgulloso es de tener algo que ver (al menos un poco) en el nacimiento del blog que hoy tengo el gusto de felicitar. Y, además, no solo tengo el gusto de leer periódicamente entradas de alta calidad, sino que encima tengo el gran placer de conocer personalmente al creador, pudiendo decir que es una de las mejores personas con los que puedes compartir eventos, comidas, cenas, cafés, una cerveza o charlar en general.

Así que:

Y aprovecho para invitaros a leer su excelente entrada aniversario que empieza así:

No pensaba escribir al respecto, pero ¿por qué no celebrar algo exclusivo? El motivo: celebrar que este blog que estás leyendo cumple hoy, en este 2026, 15 años de existencia.

También hace 15 años que empecé a utilizar openSUSE + KDE y aquí sigo. Siempre aprendiendo y siempre compartiendo y ayudando en lo que sé en todos estos años. Ese fue el impulso inicial del blog y ese sigue siendo el compromiso 15 años después.

Y, como no, animaros que os pongáis el blog en vuestros favoritos porque Victorhck lleva 3 lustros obsequiándonos con artículo con una periodicidad loable teniendo en cuenta la alta calidad de los mismos.

Con temas técnicos, tutoriales, traducciones y, sobre todo, éticos que dejan a la altura del betún cualquier publicación de red social.

500 entradas de Victorhck in the free world

Todo ello sin olvidar que Víctor se ha dedicado a hacer otras contribuciones como traducciones de tutoriales o libros enteros, algo que exige mucha dedicación y entrega, y que en muchas ocasiones está poco valorado.

De esta forma, os invito a visitar sus 3 creaciones que tengo controladas:

  • HTML para personas: traducción al español del tutorial «HTML for people» escrito por Blake Watson. Disponibles ambos textos de manera libre y publicados bajo licencia CC-by-nc-sa 4.0,
  • Aprender Vim: guía en español para hacerlo de la manera más inteligente a largo de 27 capítulos esta guía empieza con conceptos simples y profundiza en conceptos más completos.
  • El programador mediocre: traducción al español del libro «The mediocre programmer» escrito por Craig Maloney, que está disponible de manera libre y gratuita.

Evidentemente, Víctor hace su trabajo, y lo seguirá haciendo, de forma desinteresada, aunque si queréis reconocer su trabajo realizando alguna donación en LiberaPay seguro que lo agradecerá. Por experiencia, no es el dinero, es sentir que se valora el trabajo.

 

La entrada Victorhck in the free world cumple 15 años se publicó primero en KDE Blog.

the avatar of Nathan Wolf

Linux Saloon 198 | News Flight Night

In a recent News Flight Night, discussions included Colin's use of his Surface Go with Cosmic Desktop, the release of Ubuntu 26.04 LTS, and updates on Framework Computer's Laptop 13 Pro. Topics also covered containerized apps and various Linux-related news, emphasizing community engagement and technological advancements.

the avatar of Nathan Wolf

Linux Saloon 197 | Early Edition

The April edition of Linux Saloon explored gaming on Linux, discussing both past and present experiences, and highlighting various chat platforms. Rocco shared his recent experiences with CachyOS. The session featured an open mic discussion, focused on computing joys, alongside various gaming recommendations and platforms within the Linux ecosystem.
a silhouette of a person's head and shoulders, used as a default avatar

El compromiso duradero

Una imagen con la palabra Gracias escrita en varios idiomas en fuentes de varios tamaños y en diferentes direccines

No pensaba escribir al respecto, pero ¿por qué no celebrar algo exclusivo? El motivo: celebrar que este blog que estás leyendo cumple hoy, en este 2026, 15 años de existencia.

También hace 15 años que empecé a utilizar openSUSE + KDE y aquí sigo. Siempre aprendiendo y siempre compartiendo y ayudando en lo que sé en todos estos años. Ese fue el impulso inicial del blog y ese sigue siendo el compromiso 15 años después.

Ayudar, informar, dar a conocer, difundir, una tecnología plural y en algunos casos democrática (cuando no está regida por un dictador benevolente) que siempre está a la vanguardia y que se rodea de grandes cerebros que la siguen haciendo avanzar. Me refiero al software libre.

Igual es un poco pretencioso que yo desde este minúsculo rincón de internet que es este blog personal, pueda tener la suficiente cuota de influencia para hacer algo minimamente reseñable en esos objetivos de: ayudar, informar, dar a conocer, difundir.

Pero después de 15 años de publicación en el blog, y de más 2.600 artículos publicados, 15.000 comentarios recibidos, y más de 4.5 millones de visitas algo de esos objetivos sí espero haber cumplido. Muchos han sido los comentarios de agradecimiento por escribir sobre tal o cual tema que a esas personas les dio a conocer algo que les sirvió.

Si fue así, siempre me alegra saberlo. Saber que ese mensaje que dejas flotando en un rincón de internet llega a alguien en el punto más alejado del tuyo (o cercano) y le sirvió.

El tema del blog personal vive horas bajas, o eso dicen. Hay que plegarse a las nuevas tendencias, o eso dicen. Se necesita crear contenido de otra manera, o eso dicen. Si el objetivo de mi blog nunca fue tener ninguna pretensión, todo lo «ganado» siempre reconforta.

15 años de blog, se pueden mantener porque sigo disfrutando sobre lo que se escribo y porque la vida en general me ha tratado suficientemente bien, para poder seguir dedicándole tiempo y ganas a algo que me sigue gustando. Escribir sobre estos temas que puedes leer en el blog y que es el subtítulo del blog: openSUSE, GNU/Linux y software libre.

Hay semanas de más inspiración o tiempo en las que puedo publicar varios artículos, y otras semanas en los que nada aparece en el radar lo suficientemente interesante para escribir sobre ello.

Y sí, digo escribir «de mi puño y letra», ya que todas las palabras de todos esos más de 2600 artículos han sido tecleadas con más o menos pericia, con más o menos buen hacer por estos dedos que ahora martillean el teclado.

En mi blog NUNCA he publicado un artículo echando mano de ningún Modelo Extenso de Lenguaje (LLM) o las mal llamadas IA. Y eso seguirá siendo así. En algunos casos hecho mano de traductores para las traducciones del inglés, pero en ningún caso he usado ninguna IA para a partir de un prompt que me genere un artículo y publicarlo. Tampoco la he utilizado para que me de ideas para publicaciones. Publico aquello que me apetece cuando quiero y de la manera que sé. Y eso seguirá siendo así por el tiempo que dure este blog.

Y este blog durará lo que tenga a bien durar. Lo único inmutable en el universo es el cambio y oponerse a ese cambio causa frustración y dolor. Hay que fluir con ese cambio inevitable de todo. Este blog ha cambiado en el paso de los años (como dan cuenta las «snapshots» que ha registrado archive.org en su base de datos en estos 15 años).

Ha cambiado mi forma de escribir, han cambiado los temas tratados (añadiéndose temáticas nuevas), ha cambiado el diseño, etc. Pero no cambiará el compromiso inicial, ni los objetivos propuestos, que seguirán hasta el día que eche el cierre. Gracias por estar al otro lado del hilo de internet.

Todos los 25 de abril celebro la Revolución de los claveles de nuestros vecinos de Portugal y un año más de vida del blog.

un puño rojo dentro de un círculo y alrededor el texto: victorhck in the free world.
a silhouette of a person's head and shoulders, used as a default avatar

Mix de novedades de Plasma 6.6

El pasado 17 de febrero fue lanzado Plasma 6.6, el mejor escritorio del universo conocido (según nosotros). A lo largo de este mes de marzo y abril he ido relatando las novedades en su correspondiente serie de artículos, es el momento de cerrarlo con el mix de novedades de Plasma 6.6, poniendo el punto y final al repaso de las nuevas funcionalidades que nos trajo esta versión.

Mix de novedades de Plasma 6.6

Tras comprobar que esta nueva versión de Plasma 6 seguía centrada en la mejora de la usabilidad , la accesibilidad y las nuevas opciones que nos encontramos a la hora capturar o grabar la pantalla o su nuevo configurador para nuevas instalaciones, es el momento de hacer el recopilatorio de esas pequeñas mejoras en determinadas aplicaciones que no merecen todo un artículo pero que si es interesante conocer.

Mix de novedades de Plasma 6.6
Plasma 6.6 es llegó con numerosas novedades.

De esta forma, estas novedades de las que os hablaba son las siguientes:

  • La capacidad de tener escritorios virtuales solo en la pantalla principal.
  • Un nuevo gestor de inicio de sesión opcional para Plasma.
  • Brillo de pantalla automático opcional en dispositivos con sensores de luz ambiental.
  • Uso opcional de mandos de juegos como dispositivos de entrada normales.
  • Instalación de fuentes en el centro de software Discover, en sistemas operativos compatibles.
  • Escoger la prioridad de procesos en el Monitor del sistema.
  • Los widgets independientes Navegador web y Volumen del sonido se pueden fijar una vez abiertos.
  • Compatibilidad con solicitudes de acceso USB y una actualización visual de otras solicitudes de permisos.
  • Animaciones más fluidas en pantallas con alta frecuencia de actualización.

Estas son las destacadas por los desarrolladores, para ver la lista completa de novedades os recomiendo que consultéis el registro de cambios completo.

    Más información: Plasma 6.6

    La entrada Mix de novedades de Plasma 6.6 se publicó primero en KDE Blog.

    a silhouette of a person's head and shoulders, used as a default avatar

    Revert That Vector Nonsense!

    A few years back I did a quick exploration of what GNOME app icons might look like in an alternate universe where we kept on using VGA displays. Chiselling pixels away is therapeutic. So while there is absolutely no use for these, I keep on making them if only to bring some attention to what really matters for GNOME, having nice apps.

    Here's a batch of mostly GNOME Circle app icons, with some 3rd party ones thrown in.

    Pixel art GNOME app icons, batch 1 Pixel art GNOME app icons, batch 2 Pixel art GNOME app icons, batch 3 Pixel art GNOME app icons, batch 4 Pixel art GNOME app icons, batch 5 Pixel art GNOME app icons, batch 6 Pixel art GNOME app icons, batch 7

    If you're reading this on my site rather than Planet GNOME or some flickering terminal in an abandoned Vault, then congratulations. You've stumbled upon a working Pip-Boy module! Found it half-buried under irradiated rubble, its phosphor display still humming with that familiar green glow. Enjoy these icons the way the dwellers of Vault 101 were always meant to, one glorious scanline at a time.

    a silhouette of a person's head and shoulders, used as a default avatar

    Mi escritorio Plasma de abril 2026 #viernesdeescritorio

    Sigo con la iniciativa #viernesdeescritorio. Bienvenidos a mi escritorio Plasma de marzo 2026, que en esta ocasión la voy a realizar sobre mi Slimbook Kymera, con el que llegamos a las 71 entregas compartiendo «Mi escritorio» de forma mensual.

    Mi escritorio Plasma de abril 2026 #viernesdeescritorio

    Esta va a ser la entrega número 71 en la que muestro mi escritorio Plasma 6 en público, lo cual es número nada desdeñable de entradas que sigue creciendo de forma constante.

    Como decía en la introducción la realizo de nuevo sobre mi Slimbook Kymera, el cual tiene instalado un KDE Neon con Plasma 6.6.4, sobre una versión de KDE Frameworks 6.24.0 y una versión de Qt 6.10.2. El servidor gráfico es Wayland y el Kernel es 6.17.0-20-generic (64 bits).

    En este equipo estoy utilizando el tema global Sweet Mars de eliverlara, un tema que sigue siendo oscuro, y para el pack de iconos me he decantado por unos del mismo artista y que dan mucho contraste: los Candy Icons.

    La barra de tareas la tengo en la parte derecha dado que tengo dos monitores que hace que me mueva de derecha a izquierda y viceverersa, y contiene de arriba a abajo.

    • Selector de escritorios virtuales
    • Reloj digital
    • Widget de Clima Plus
    • Gestor de tareas solo iconos
    • Bandeja del sistema
    • Vista de escritorio
    • Un pequeño bloc de notas para acceder de forma rápida a esas cosas que pasan por mi mente y necesito apuntar para recordar después.
    • Selector de colores
    • Lanzador de aplicaciones.

    Para el fondo también tengo e activado el complemento Wallhaven, el cual conecta con la página web https://wallhaven.cc/ y que permite que te cambie dicho fondo según los parámetros que definas.

    Mi escritorio Plasma de febrero 2026 #viernesdeescritorio

    En esta ocasión he seleccionado he seleccionado otro de Tormenta (Storm) espectacular, uno de mis personajes favoritos de la Patrulla, sobre todo en tiempos de Chris Claremont. Ese contraste de claro y oscuro , con el color del tema y de los iconos da un aspecto muy llamativo.

    Además, el fondo contiene el reloj ClearClock por Advanced Modern Clear Clock, ya que este plasmoide coge bien la información del idioma de mi sistema, y por ello aparece el día de la semana en valenciano.

    El resultado de mi escritorio Plasma de abril de 2026 es un entorno de trabajo oscuro y, como siempre, funcional que podéis ver en la imagen inferior (pinchad sobre ella para verlo un poco más grande).

    La entrada Mi escritorio Plasma de abril 2026 #viernesdeescritorio se publicó primero en KDE Blog.

    a silhouette of a person's head and shoulders, used as a default avatar

    #openSUSE Tumbleweed revisión de la semana 17 de 2026

    Tumbleweed es una distribución de GNU/Linux «Rolling Release» o de actualización contínua. Aquí puedes estar al tanto de las últimas novedades.

    Logotipo de openSUSE Tumbleweed

    openSUSE Tumbleweed es la versión «rolling release» o de actualización continua de la distribución de GNU/Linux openSUSE.

    Hagamos un repaso a las novedades que han llegado hasta los repositorios esta semana.

    Y recuerda que puedes estar al tanto de las nuevas publicaciones de snapshots en esta web:

    El anuncio original lo puedes leer en el blog de Dominique Leuenberger, publicado bajo licencia CC-by-sa, en este este enlace:

    Esta semana 17 ha sido bastante activa: se han aceptado un total de 900 solicitudes a lo largo de los días, y 5 instantáneas (0417, 0418, 0419, 0420 y 0422) han sido probadas y publicadas con éxito. Se probó una más pero luego se descartó debido a una regresión.

    Estos son los cambios más relevantes:

    • KDE Gear 26.04.0
    • Mesa 26.0.5
    • iproute2 7.0
    • Nano 9.0
    • openldap 2.6.13
    • Cups 2.4.17
    • Gimp 3.2.4
    • libxml 2.15.3
    • php 8.5.5

    Y para próximas snapshots, ya se están preparando las siguientes actualizaciones:

    • LLVM 22 (snapshot 0423+)
    • Systemd 260.1
    • GNOME 50.1
    • Mozilla Firefox 150
    • Coreutils 9.11
    • Linux kernel 7.0.1
    • Rust 1.95
    • sed 4.10

    Si quieres estar a la última con software actualizado y probado utiliza openSUSE Tumbleweed la opción rolling release de la distribución de GNU/Linux openSUSE.

    Mantente actualizado y ya sabes: Have a lot of fun!!

    Enlaces de interés

    ——————————–