Netflix identifica falhas TCP que afetam Kernels Linux e FreeBSD

Vulnerabilidade CVE-2019-11477 (e outras relacionadas, como o CVE-2019-11478, CVE-2019-11479)

 

A Netflix identificou várias vulnerabilidades ao nível da rede TCP em kernels FreeBSD e Linux (CVE-2019-11477, CVE-2019-11478, CVE-2019-11479) .

As vulnerabilidades referem-se especificamente ao tamanho mínimo dos segmentos (MSS) e à “TCP Selective Acknowledgement (SACK)”. A falha mais séria (com o nome “SACK Panic”) permite que seja activado remotamente o modo “kernel panic” (equivalente a “BlueScreen of Death” em Windows) em sistemas Linux.

Já existem actualizações que rectificam a maior parte destas falhas. Caso as actualizações não sejam possíveis de aplicar no sistema operativo, poderá implementar algumas mitigações que o façam. Recomendamos que siga os passos abaixo dependendo do seu ambiente.

 

Como mitigar as vulnerabilidades

 

1: CVE-2019-11477: SACK Panic (Linux >= 2.6.29)

Descrição: Uma sequência de “SACKs” poderá ser criada de uma forma que é accionado um “Integer overflow”, causando um “kernel panic”.

Solução: Aplicar o patch “PATCH_net_1_4.patch“. Adicionalmente, versões com o kernel Linux até e incluindo 4.14 necessitam de um segundo patch “PATCH_net_1a.patch“.

Alternativa 1: Bloquear conexões com um baixo valor de “MSS” utilizando um dos filtros seguintes: “https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/block-low-mss/README.md”

Alternativa 2: Desabilitar processamento SACK

 

2: CVE-2019-11478: SACK Slowness (Linux < 4.15) or Excess Resource Usage (all Linux versions)

Descrição: É possível enviar uma sequência  de SACKs forjados que irá fragmentar a fila de retransmissão TCP.

Solução: Aplicar o seguinte patch PATCH_net_2_4.patch.

Alternativa 1: Bloquear conexões com um baixo valor de “MSS” utilizando um dos filtros seguintes: “https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/block-low-mss/README.md”

Alternativa 2: Desabilitar processamento SACK

 

3: CVE-2019-5599: SACK Slowness (FreeBSD 12 using the RACK TCP Stack)

Descrição: É possível enviar uma sequência de pacotes SACK forjados que irão fragmentar o mapa de envio RACK.

Alternativa 1: Aplicar o patch split_limit.patch e definir um valor limite para o tamanho da tabela SACK “net.inet.tcp.rack.split_limit“.

Alternativa 2: Temporariamente desabilitar a stack RACK TCP.

 

4: CVE-2019-11479: Excess Resource Consumption Due to Low MSS Values (all Linux versions)

Descrição: Um hacker poderá forçar um kernel Linux a responder a partir de múltiplos pacotes segmentados TCP, no qual cada um tem apenas 8 bytes de informação. Isto aumenta drasticamente a largura de banda utilizado para entregar estes mesmos pacotes. Adicionalmente isto força a utilização de mais processamento por parte do CPU e da placa de rede NIC.

Solução: Estes dois patches PATCH_net_3_4.patch e PATCH_net_4_4.patch adicionam um comando que força a utilização de um mínimo de  segmentos MSS, definidos por “net.ipv4.tcp_min_snd_mss“. Desta forma um administrador de sistema poderá forçar a utilização de um mínimo de segmentos MSS apropriado para as suas aplicações.

Alternativa 1: Bloquear conexões com um baixo valor de “MSS” utilizando um dos filtros seguintes: “https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/block-low-mss/README.md”

 

NOTA: Um bom sistema e uma boa programação das aplicações pode limitar o impacto deste tipo de ataques a algumas destas vulnerabilidades.

Fonte: Cloudirect


Comments are closed.