CVE-2026-90018 in Linuxinformação

Sumário

de VulDB • 16/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

staging: rtl8723bs: corrige leitura OOB / estouro de pilha em rtw_get_wps_attr()

rtw_get_wps_attr() percorre os atributos WPS dentro de um IE (Information Element) WPS obtido a partir de uma frame de gerenciamento sem fio. Para cada candidato a atributo, ele verifica apenas se o cabeçalho fixo do atributo de 4 bytes (ID de 2 bytes + comprimento de 2 bytes) cabe dentro do IE:

if (attr_ptr + 4 > wps_ie + wps_ielen) break; u16 attr_id = get_unaligned_be16(attr_ptr); u16 attr_data_len = get_unaligned_be16(attr_ptr + 2); u16 attr_len = attr_data_len + 4;

attr_data_len (e, portanto, attr_len) é lido diretamente da rede e nunca é verificado em relação aos bytes restantes no IE antes de ser usado como o tamanho para:

memcpy(buf_attr, attr_ptr, attr_len);

Como attr_len é totalmente controlado pelo atacante (0 a 65535+4), isso representa tanto uma leitura OOB (Out-of-Bounds) na heap de wps_ie quanto, mais seriamente, um estouro de buffer de pilha em vários pontos de chamada onde buf_attr é uma variável de pilha de um único byte, por exemplo, os chamadores de rtw_get_wps_attr_content() passando WPS_ATTR_SELECTED_REGISTRAR para "u8 sr"/"u8 selected_registrar" na pilha (drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c, drivers/staging/rtl8723bs/core/rtw_mlme_ext.c). Portanto, um IE WPS manipulado em uma beacon ou probe response processada durante a varredura pode corromper (smash) a pilha da thread de parsing.

rtw_get_wps_attr_content() não possui verificação independente de comprimento e confia simplesmente no attr_len que recebe de rtw_get_wps_attr(), portanto, corrigir o limite aqui também corrige esse chamador.

A verificação do cabeçalho "attr_ptr + 4 > wps_ie + wps_ielen" acima foi adicionada pelo commit 1463ca3ec6601 ("staging: rtl8723bs: fixa leituras OOB em rtw_get_sec_ie(), rtw_get_wapi_ie() e rtw_get_wps_attr()"), que limitou o cabeçalho fixo, mas nunca estendeu a verificação para cobrir os dados de atributo de comprimento variável que se seguem. Adicione essa verificação ausente antes que attr_len seja usado como tamanho do memcpy() ou aceito como correspondência.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsável

Linux

Reservar

11/09/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-405857

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!