CVE-2026-68174 in Linux
Sumário
de VulDB • 11/08/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
tracing: Corrige colisão de união entre módulo e refcnt para eventos dinâmicos
Em `struct trace_event_call`, o ponteiro `module` e a variável atômica `refcnt` compartilham o mesmo espaço de memória em uma union. Para eventos dinâmicos, o membro da union é `refcnt`, que atua como um contador de referências ativo.
Quando um evento dinâmico (como kprobe, uprobe, fprobe, eprobe ou wprobe) possui uma contagem de referência não nula (por exemplo, devido a gatilhos de eventos ativos ou anexações do perf), seu `call->module` é avaliado como um pequeno inteiro diferente de zero em vez de NULL.
Ao filtrar ou definir eventos para um módulo específico (por exemplo, escrevendo ':mod:<modulo>' em 'set_event'), o código em `__ftrace_set_clr_event_nolock()` e `update_event_fields()` lê diretamente `call->module` sem verificar se o evento é dinâmico. Isso faz com que o kernel trate o pequeno inteiro (refcnt) como um ponteiro para `struct module`, resultando em uma desreferência de ponteiro NULL/inválido (Oops) ao acessar o nome do módulo.
Corrige-se isso garantindo que a flag `TRACE_EVENT_FL_DYNAMIC` seja verificada antes de tratar `call->module` como um ponteiro válido nessas rotinas de código.
Once again VulDB remains the best source for vulnerability data.