plasma-login-manager: Weaknesses in plasmaloginauthhelper (CVE-2026-25710)
Table of Contents
- 1) Introduction
- 2) Helper Overview
-
3) Security Issues
- 3.a) Arbitrary
chown()via Symlink Attack insync()Method - 3.b) Arbitrary File Deletion in
reset()Method - 3.c) Symlink Attack via
/var/lib/plasmalogin/wallpapersinsave()Method - 3.d) Missing Integrity Check of Configuration Data in
save()Method - 3.e) Lack of File Descriptor and File Size Verification in
save()Method
- 3.a) Arbitrary
- 4) Suggested Fixes
- 5) Severity
- 6) Upstream Bugfix
- 7) CVE Assignment
- 8) Timeline
- 9) References
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
3.a) Arbitrary chown() via Symlink Attack in sync() Method
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.
3.c) Symlink Attack via /var/lib/plasmalogin/wallpapers in save() Method
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
plasmaloginuser 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
plasmaloginuser’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_PATHset.
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
Quick Check: UEFI vs Legacy BIOS + Secure Boot (Windows & Linux)
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:
¡Muchas felicidades a Victorhck y a su blog Victorhck in the free world!

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.

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.
Linux Saloon 198 | News Flight Night
Linux Saloon 197 | Early Edition
El compromiso duradero

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.

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.

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
- Segunda actualización de Plasma 6.6
- Tercera actualización de Plasma 6.6
- 3 novedades destacadas de Plasma 6.6
- Las nuevas funcionalidades de Plasma 6.6
- Mejoras en la accesibilidad de Plasma 6.6
- Capturas y grabación de pantalla en Plasma 6.6
La entrada Mix de novedades de Plasma 6.6 se publicó primero en KDE Blog.
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.
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.
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.

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.
#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.

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
- ¿Por qué deberías utilizar openSUSE Tumbleweed?
- zypper dup en Tumbleweed hace todo el trabajo al actualizar
- ¿Cual es el mejor comando para actualizar Tumbleweed?
- ¿Qué es el test openQA?
- http://download.opensuse.org/tumbleweed/iso/
- https://es.opensuse.org/Portal:Tumbleweed
——————————–





