Várias vulnerabilidades locais e remotas foram descobertas no kernel Linux que pode levar à uma negação de serviço ou à execução de código arbitrário. O [1]projeto Common Vulnerabilities and Exposures identificou os seguintes problemas:
Existem múltiplos estouros no driver io_edgeport que podem ser usados como vetor de ataque de negação de serviço.
Bryan Fulton reportou uma falha de verificação de limites na função coda_pioctl que pode permitir que usuários locais executem código arbitrário ou disparem um ataque de negação de serviço.
CVE-2005-0449 Foi descoberto um erro na função skb_checksum_help() do framework netfilter que permite transpor as regras do filtro de pacotes ou um ataque de negação de serviço.
Tim Yamin descobriu que a validação de entrada insuficiente no driver zisofs para sistemas de arquivo ISO comprimidos permitem ataque de negação de serviço através de imagens ISO maliciosamente criadas.
Um estouro de pilha na função sendmsg() permite que usuários locais executem código arbitrário.
Herbert Xu descobriu que a função setsockopt() não é restrita à usuários/processos com capacidade CAP_NET_ADMIN. Isto permite que atacantes manipulem políticas IPSEC ou iniciem um ataque de negação de serviço.
Al Viro descobriu uma condição indesejada ("race condition") no manuseio de dispositivos de rede no /proc. Um atacante (local) pode explorar a referência estagnada após a desativação da interface para gerar uma negação de serviço ou possivelmente executar código no modo kernel.
Jan Blunck descobriu que falhas repetidas de leitura do /proc/scsi/sg/devices causa vazamento de memória, que permite ataque de negação de serviço.
CVE-2005-2973 Tetsuo Handa descobriu que a função udp_v6_get_port() do código IPv6 pode ser forçado à entrar em loop infinito, que permite ataque de negação de serviço.
Vasiliy Averin descobriu que os contadores de referência do sockfd_put() e fput() podem ser forçados à entrar em sobreposição, que permite ataque de negação de serviço através de dereferência ("dereference") de ponteiro nulo.
Eric Dumazet descobriu que a chamada de sistema set_mempolicy() aceita um valor negativo como primeiro argumento, o que dispara a função BUG(). Isto permite um ataque de negação de serviço.
Harald Welte descobriu que se um processo instanciar um USB Request Block (URB) para um dispositivo e terminar antes de completar o URB, um ponteiro anterior pode ser dereferenciado ("dereferenced"). Isto pode ser usado para disparar um ataque de negação de serviço.
Pavel Roskin descobriu que o driver para cartões wireless Orinoco não limpa sua pilha suficientemente. Isto pode vazar informações sensíveis no espaço de usuário.
Robert Derr descobriu que o subsistema de auditoria usa uma função incorreta para liberar memória, o que permite um ataque de negação de serviço.
Rudolf Polzer descobriu que o kernel restringe inapropriadamente o acesso ao ioctl KDSKBSENT, que pode possivelmente levar à elevação de privilégio.
Doug Chapman descobriu que a mq_open syscall pode ser capturada decrmentando um contador interno duas vezes, o que permite um ataque de negação de serviço através de.
Doug Chapman descobriu que passando uma máscara de bit 0 zero para a chamada de sistema set_mempolicy() leva à um kernel panic, que permite um ataque de negação de serviço.
O código ptrace usando CLONE_THREAD não usa o ID de grupo da thread para determinar quando o que chama está conectando a si mesmo, o que permite um ataque de negação de serviço.
O auto-reaping da funcionalidade de processos filhos incluem processos ptraced-attached, que permitem negação de serviço através de referências através de referências soltas ("dangling references").
Yen Zheng descobriu que o código IPv6 flow label modifica uma variável incorreta, que pode levar ao corrompimento de memória e negação de serviço.
Foi descoberto que um processo "threaded real-time", que é atualmente "dumping core" pode ser forçado à uma situação "dead-lock" enviando-se um sinal SIGKILL, que permite um ataque de negação de serviço.
Ollie Wild descobriu um vazamento de memória na função icmp_push_reply(), que permite a negação de serviço através de consumo de memória.
Chris Wright descobriu que e excesiva alocação de "file lock leases" quebrados na camada VFS pode exaurir a memória e encher o log de sistema, o que permite a negação de serviço.
Patrick McHardy descobriu um vazamento de memória na função ip6_input_finish() do código IPv6, que permite a negação de serviço.
Karl Janmar descobriu que um erro não-assinalado no código procfs pode ser explorado para ler a memória do kernel, que pode revelar informaçoes sensíveis.
Yi Ying descobriu que o sysctl protege apropriadamente o tamanho de um buffer, o que permite um ataque de negação de serviço.
Stefan Rompf descobriu que o dm_crypt não limpa uma estrutura interna após liberá-la, o que pode revelar informações sensíveis.
It was descobriu que a capacidade de checagem do driver SDLA é muito relaxada para atuslizações de firmware.
Ludovic Courtes descobriu que get_compat_timespec() executa limpeza de entrada insuficiente, o que permite um ataque local de negação de serviço.
It was descobriu que o ptrace() na arquitetura ia64 permite um ataque loca de negação de serviço, quando a preempção está ativada.
A seguinte matriz explica qual versão do kernel para cada arquitetura corrige os problemas mencionados acima:
Debian 3.1 ("sarge") Source 2.6.8-16sarge2 Alpha architecture 2.6.8-16sarge2 AMD64 architecture 2.6.8-16sarge2 HP Precision architecture 2.6.8-6sarge2 Intel IA-32 architecture 2.6.8-16sarge2 Intel IA-64 architecture 2.6.8-14sarge2 Motorola 680x0 architecture 2.6.8-4sarge2 PowerPC architecture 2.6.8-12sarge2 IBM S/390 architecture 2.6.8-5sarge2 Sun Sparc architecture 2.6.8-15sarge2
A seguinte matriz lista os pacotes adicionais que devem ser reconstruidos para compatibilidade com ou ter vantagem com esta atualização:
Debian 3.1 ("sarge") kernel-latest-2.6-alpha 101sarge1 kernel-latest-2.6-amd64 103sarge1 kernel-latest-2.6-hppa 2.6.8-1sarge1 kernel-latest-2.6-sparc 101sarge1 kernel-latest-2.6-i386 101sarge1 kernel-latest-powerpc 102sarge1 fai-kernels 1.9.1sarge1 hostap-modules-i386 0.3.7-1sarge1 mol-modules-2.6.8 0.9.70+2.6.8+12sarge1 ndiswrapper-modules-i386 1.1-2sarge1
Recomendamos que você atualize seu pacote kernel imediatamente e reinicie ("reboot") a máquina. Se você construiu um kernel customizado a partir do pacote fonte do kernel, você precisará reconstruir para ter as vantagens destas correções.
Esta atualização introduz uma mudança na interface binária do kernel, os pacotes afetados no Debian foram reconstruidos, se você está usando "addons" locais você precisa reconstruí-los também.