PT-2024-36996 · Linux+6 · Linux Kernel+6

Hubert Wiśniewski

·

Publicado

2024-11-10

·

Atualizado

2025-10-03

·

CVE-2024-56687

CVSS v3.1

5.5

Média

VetorAV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Nome do software vulnerável e versões afetadas
Kernel do Linux (versões afetadas não especificadas)
Descrição
Foi identificado um problema de travamento de hardware no kernel do Linux, especificamente no driver MUSB (Media Universal Serial Bus). Esse problema pode ocorrer quando a chamada de retorno de uma solicitação é invocada a partir da função usb ep queue(), o que pode criar situações de impasse. O problema surge quando o dispositivo é inicializado e um pacote chega, definindo o sinalizador RXPKTRDY e gerando uma interrupção. Se as IRQs (solicitações de interrupção) estiverem habilitadas durante o callback completo, o endpoint pode travar, impedindo que novos pacotes sejam recebidos. Esse problema é particularmente relevante para o dispositivo USB Ethernet, onde o callback rx complete() chama netif rx(), o que pode desabilitar e, em seguida, reabilitar as IRQs. A situação é complexa, envolvendo vários componentes e possíveis soluções alternativas.
Recomendações
Para resolver este problema, considere as seguintes abordagens:
  1. Certifique-se de que as callbacks nunca habilitem IRQs, embora isso possa ser difícil de garantir devido à complexidade das interações entre netif rx() e as interrupções.
  2. Desative as interrupções MUSB em musb g giveback() antes de chamar o callback e reative-as posteriormente para evitar que as interrupções MUSB sejam tratadas durante o callback.
  3. Modifique o manipulador de interrupção para limpar o sinalizador RXPKTRDY se a fila de solicitações estiver vazia, embora essa abordagem possa desperdiçar tempo de CPU.
  4. Esvazie o FIFO de recepção em vez de chamar

Exploit

Improper Locking

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

ALSA-2025_12746
ALSA-2025_12752
ALSA-2025_12753
ALSA-2025_16880
ALT-PU-2024-17893
ALT-PU-2025-12647
BDU:2025-04133
CVE-2024-56687
DLA-4076-1
OESA-2025-1093
OESA-2025-1097
OPENSUSE-SU-2025_0428-1
OPENSUSE-SU-2025_0499-1
OPENSUSE-SU-2025_0557-1
SUSE-SU-2025:0289-1
SUSE-SU-2025:0428-1
SUSE-SU-2025:0499-1
SUSE-SU-2025:0557-1
SUSE-SU-2025:20165-1
SUSE-SU-2025:20166-1
SUSE-SU-2025:20248-1
SUSE-SU-2025:20249-1
SUSE-SU-2025_0428-1
SUSE-SU-2025_0499-1
SUSE-SU-2025_0557-1
USN-7276-1
USN-7277-1
USN-7310-1
USN-7449-1
USN-7449-2
USN-7450-1
USN-7451-1
USN-7452-1
USN-7453-1
USN-7468-1
USN-7523-1
USN-7524-1

Produtos afetados

Alt Linux
Astra Linux
Linuxmint
Linux Kernel
Red Os
Suse
Ubuntu