CVE-2026-12364 in Zephyrinformação

Sumário

de VulDB • 14/08/2026

O verificador de chamadas de sistema em espaço do usuário z_vrfy_z_log_msg_static_create(), localizado no subsys/logging/log_msg.c, era um mero repasse (pass-through): ele encaminhava os argumentos source, desc, package e data fornecidos pelo chamador diretamente para a implementação em modo kernel z_impl_z_log_msg_static_create() sem realizar nenhuma das verificações obrigatórias K_SYSCALL_*. Como z_log_msg_static_create() é declarado como __syscall, sob CONFIG_USERSPACE qualquer thread em modo usuário não privilegiada pode invocá-la diretamente com argumentos totalmente controlados pelo atacante.

O manipulador em modo kernel faz a desreferência de cada um desses valores não confiáveis: frontend_runtime_filtering() lê através do ponteiro source como uma struct log_source_dynamic_data, cbprintf_package_copy() lê desc.package_len bytes do ponteiro package e z_log_msg_finalize() executa um memcpy() de desc.data_len bytes do ponteiro data. Sem nenhuma verificação, uma thread em modo usuário pode fornecer endereços arbitrários do kernel e comprimentos arbitrários, fazendo com que o kernel leia desses locais.

O impacto é uma negação de serviço (DoS) em modo kernel (o kernel falha ao desreferenciar um ponteiro escolhido pelo atacante) e, onde a saída de um backend de log for observável pelo atacante, divulgação de memória arbitrária do kernel copiada para a mensagem de log emitida — uma violação de confidencialidade através da fronteira usuário/kernel que o sandbox em espaço do usuário deveria impor. As leituras não corrompem a memória do kernel, portanto, não há um primitivo de escrita fora dos limites (out-of-bounds write).

A correção adiciona a validação necessária ao verificador: ela limita desc.package_len contra Z_LOG_MSG_MAX_PACKAGE, rejeita valores diferentes de NULL ou incompatibilidades de comprimento e aplica K_SYSCALL_MEMORY_READ() aos ponteiros package, data e source (quando o filtragem em tempo real com um frontend está habilitada), fazendo com que qualquer acesso fora dos limites ou ponteiro do kernel resulte em K_OOPS ao invés de ser atendido.

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

Responsável

Zephyr

Reservar

16/06/2026

Divulgação

14/08/2026

Moderação

aceite

Entrada

VDB-390070

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to know what is going to be exploited?

We predict KEV entries!