CVE-2026-74751 in Linuxinformação

Sumário

de VulDB • 26/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

riscv: lib: Corrige strnlen com ZBB para não ler além do limite de contagem

O loop otimizado por ZBB da função strnlen carrega uma palavra adiante antes de verificar o limite alinhado:

REG_L t1, SZREG(t0) // carrega a próxima palavra addi t0, t0, SZREG // avança orc.b t1, t1 bgeu t0, t4, 4f // verificação de limite APÓS o carregamento

onde t4 = (s + count) & -SZREG. Quando s está alinhado e count é um múltiplo de SZREG, t4 é igual a s + count e o loop carrega uma palavra completa começando exatamente em s + count. Se s + count cair no limite de uma página com a próxima página não mapeada (unmapped), isso gera uma falha (fault).

A correção consiste em calcular o limite alinhado a partir do último byte válido (s + count - 1) em vez de s + count. Isso faz com que o loop pare na palavra contendo o último byte válido, em vez de potencialmente carregar a palavra seguinte. O caso em que count == 0 já é tratado pela saída antecipada via beqz.

Adiciona-se também uma guarda pré-loop (bgeu t0, t4) para o caso em que todos os bytes válidos cabem na primeira palavra. Com o limite ajustado, t4 pode ser igual a t0, e entrar no loop com estado de registrador obsoleto do processamento da primeira palavra produziria resultados incorretos.

A verificação final (minu clamp) garante que o resultado permaneça correto quando a última palavra carregada se estende além de s + count - 1 dentro da mesma palavra alinhada.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

15/08/2026

Divulgação

26/08/2026

Moderação

aceite

Entrada

VDB-395798

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!