FERRAMENTAS LINUX: SUSE Security Update 2026-2523-1: Libinput Local Privilege Escalation

quarta-feira, 24 de junho de 2026

SUSE Security Update 2026-2523-1: Libinput Local Privilege Escalation

 



A atualização do libinput da SUSE aborda as CVE-2026-50265 e CVE-2026-50292: dispositivos uinput manipulados permitem escalonamento de privilégios local via injeção de propriedades udev. Aplique o patch com zypper imediatamente.


O libinput é a biblioteca padrão para manipulação de dispositivos de entrada em ambientes Linux modernos, utilizada por servidores de exibição como Wayland e X.Org para gerenciar teclados, mouses, touchpads e outros periféricos. Em 23 de junho de 2026, a SUSE lançou o boletim de segurança SUSE-SU-2026:2523-1, classificado como importante, abordando duas vulnerabilidades críticas que afetam o componente de manipulação de dispositivos uinput da biblioteca.

As vulnerabilidades CVE-2026-50265 e CVE-2026-50292 permitem que um atacante local com acesso ao dispositivo de caractere /dev/uinput injete propriedades udev arbitrárias por meio do helper libinput-device-group. 

O vetor de ataque explora a manipulação de propriedades REMOVE_CMD que são executadas quando um dispositivo é removido, permitindo escalonamento de privilégios para root.

A severidade é evidenciada pelas pontuações CVSS: CVE-2026-50265 alcança 7.3 (CVSS 4.0) e 7.0 (CVSS 3.1), enquanto CVE-2026-50292 atinge 9.8 (CVSS 3.1) sob certas condições. Este guia fornece um roteiro prático para identificar, corrigir e validar a aplicação do patch em ambientes SUSE Enterprise e openSUSE.


Pré-requisitos

Antes de iniciar o procedimento, verifique os seguintes pontos:


Sistemas Afetados

O patch é aplicável às seguintes distribuições:


SUSE Linux Enterprise Server 15 SP5 (incluindo LTSS)

SUSE Linux Enterprise High Performance Computing 15 SP5 (ESPOS e LTSS)

SUSE Linux Enterprise Server for SAP Applications 15 SP5

openSUSE Leap 15.5


Verificação da Versão do Libinput

Identifique a versão atual instalada:

bash
$ rpm -q libinput
libinput-1.19.0-150500.3.3.1.x86_64

Versões anteriores a 1.30.4 (para o ramo 1.30.x) e 1.31.3 (para o ramo 1.31.x) são vulneráveis. Consulte o changelog para confirmar se o patch já foi aplicado:

bash
$ rpm -q --changelog libinput | grep -i "CVE-2026-50265\|CVE-2026-50292\|bsc#1267852"

Permissões de /dev/uinput

O vetor de ataque requer acesso a /dev/uinput. Verifique as permissões atuais:

bash
$ ls -la /dev/uinput
crw-rw---- 1 root input 10, 223 Jun 24 10:00 /dev/uinput

Em configurações padrão, apenas membros do grupo input têm acesso. A recomendação de segurança é restringir o acesso a /dev/uinput apenas a usuários confiáveis .

Repositórios Atualizados

Garanta que os repositórios SUSE estejam configurados e atualizados:

bash
$ zypper refresh
Repository 'SLE-Product-SLES15-SP5-Pool' is up to date.
Repository 'SLE-Product-SLES15-SP5-Updates' is up to date.
All repositories have been refreshed.

Passo a Passo: Aplicação do Patch


1. Identificação do Patch Correto

O boletim fornece comandos específicos para cada produto. Selecione o comando correspondente ao seu ambiente:


2. Aplicação do Patch

Para ambientes SUSE Linux Enterprise Server 15 SP5 (caso mais comum):

bash
$ sudo zypper in -t patch SUSE-SLE-Product-SLES-15-SP5-LTSS-2026-2523=1

Saída esperada:

text
Loading repository data...
Reading installed packages...
Resolving package dependencies...

The following package is going to be upgraded:
  libinput

1 package to upgrade.
Overall download size: 212.5 KiB. Already cached: 0 B.
After the operation, additional 4.0 KiB will be used.
Continue? [y/n/...? shows all options] (y): y
Retrieving package libinput-1.19.0-150500.3.6.1.x86_64                                 (1/1), 212.5 KiB (612.0 KiB unpacked)
Checking for file conflicts: ................................................................................[done]
(1/1) Installing: libinput-1.19.0-150500.3.6.1.x86_64 ................................................................[done]


Por que usar zypper in -t patch em vez de zypper up?

O comando zypper in -t patch instala exatamente os patches recomendados para o boletim de segurança, sem atualizar pacotes não relacionados. Isso reduz o risco de regressões em ambientes de produção, permitindo uma atualização cirúrgica e auditável.


Verificação Pós-Instalação

Confirme que a nova versão está instalada:

bash
$ rpm -q libinput
libinput-1.19.0-150500.3.6.1.x86_64

Valide a presença do patch no changelog:

bash
$ rpm -q --changelog libinput | grep -E "CVE-2026-50265|CVE-2026-50292|bsc#1267852" -A2
- CVE-2026-50265,CVE-2026-50292: crafted uinput devices can lead to local
  privilege escalation (bsc#1267852)


Reinicialização de Serviços Dependentes


O libinput é uma biblioteca compartilhada utilizada por diversos serviços em tempo de execução. A atualização do pacote não reinicia automaticamente esses serviços. Para garantir que a correção entre em vigor:

bash
# Reiniciar o gerenciador de exibição (display manager)
$ sudo systemctl restart display-manager

# Ou, para ambientes sem interface gráfica, reiniciar o udev
$ sudo udevadm control --reload-rules && sudo udevadm trigger

Nota: Em servidores headless, o libinput pode não estar em uso ativo, mas a biblioteca ainda pode ser carregada por aplicações que manipulam dispositivos de entrada. A reinicialização do sistema é a abordagem mais conservadora e garantida.


📘  Indicação de Leitura 



Esse livro  é um guia prático e abrangente sobre a segurança do sistema operacional Linux como um todo. O livro ensina a pensar como um atacante para fortalecer a defesa do servidor, abordando tópicos fundamentais como:

  • Ferramentas de rede: Nmap, Netcat, knockd.
  • Monitoramento: de arquivos e sistemas de arquivos.
  • Defesas: contra malware e ataques DDoS.
  • Descoberta de vulnerabilidades: como invasores encontram pontos fracos.


Segurança em Servidores Linux Ataque e Defesa: (anúncio) ->  https://link.amazon/B0i1E7SEJ 

Eu ganho uma comissão quando você faz uma compra.


Troubleshooting


Problema Comum: "Patch não encontrado" ou "Nenhum patch aplicável"

Cenário: Ao executar o comando zypper in -t patch, o sistema retorna:

text
No patch with the specified name found.

Causa: O repositório de atualizações pode não estar habilitado ou o sistema pode não ter a assinatura de produto correta.

Solução:

1. Verifique os repositórios ativos:

  1. bash
    $ zypper repos --uri | grep -E "Updates|Patch"

2. Habilite o repositório de patches, se necessário:

  1. bash
    $ sudo zypper modifyrepo --enable SLE-Product-SLES15-SP5-Updates

3. Atualize a lista de patches disponíveis:

  1. bash
    $ sudo zypper patch-check
    Loading repository data...
    Reading installed packages...
    45 patches available (2 security updates)

4. Liste os patches específicos do libinput:

  1. bash
    $ sudo zypper patches | grep -i libinput
    SUSE-SLE-Product-SLES-15-SP5-LTSS-2026-2523  important  Security update for libinput

Execute novamente o comando de instalação.


Armadilha Comum: Ignorar a Reinicialização de Serviços


O erro mais frequente entre administradores ao aplicar patches de bibliotecas compartilhadas é não reiniciar os serviços que as utilizam. O pacote é atualizado no sistema de arquivos, mas os processos em execução continuam usando a versão antiga em memória.


Exemplo do problema:

bash
# Após a atualização
$ rpm -q libinput
libinput-1.19.0-150500.3.6.1.x86_64  # versão corrigida

# Mas o processo do Xorg ainda carrega a versão antiga
$ lsof | grep libinput | grep Xorg
Xorg      1234  root  mem  REG  8,1  612000  /usr/lib64/libinput.so.10.19.0 (deleted)

O indicador (deleted) mostra que o arquivo foi substituído, mas o processo ainda mantém o arquivo antigo aberto.

Solução correta: Reiniciar o display manager ou, em último caso, o sistema inteiro. Em ambientes de contêiner ou com inicialização rápida, a reinicialização completa é a abordagem mais segura.


Conclusão


O boletim SUSE-SU-2026:2523-1 aborda duas vulnerabilidades críticas no libinput que permitem escalonamento de privilégios local por meio de injeção de propriedades udev. 

A aplicação do patch é direta utilizando zypper in -t patch, mas requer atenção à reinicialização de serviços dependentes para que a correção seja efetiva.


Recomendações Finais


  • Priorize a aplicação em todos os sistemas afetados, especialmente aqueles com múltiplos usuários ou acesso a /dev/uinput.
  • Audite permissões de /dev/uinput — o princípio do menor privilégio é a primeira linha de defesa.
  • Monitore logs do sistema em busca de tentativas de exploração:

  1. bash
    $ sudo journalctl -f | grep -i "uinput\|libinput"

  • Documente a atualização no registro de mudanças da sua organização, registrando a data, o boletim e os sistemas afetados.

A correção está disponível desde 23 de junho de 2026. Não adie esta atualização — o vetor de ataque é de baixa complexidade e o impacto é alto.

Nenhum comentário:

Postar um comentário