Es van trobar tres vulnerabilitats a les piles TCP de Linux que porten a la denegació remota de servei

fallada linux

Recentment van donar a conèixer la notícia sobre la identificació de diverses vulnerabilitats crítiques en les piles TCP de Linux i FreeBSD que li permet a un atacant el poder iniciar de forma remota una falla de el nucli o causar un consum excessiu de recursos a l'processar paquets TCP especialment dissenyats (paquet de la mort).

Els problemes són causats per errors en els gestors de la mida màxima de l'bloc de dades en el paquet TCP (MSS, Mida de segment màxim) i el mecanisme per al reconeixement selectiu de connexions (SACK, Reconeixement selectiu de TCP).

Què és un reconeixement selectiu?

El reconeixement selectiu de TCP (SACK) és un mecanisme on el receptor de dades pot informar el remitent sobre tots els segments que s'han acceptat amb èxit.

Això permet que el remitent retransmeti els segments de la seqüència que falten del seu conjunt 'ben conegut'. Quan TCP SACK està deshabilitat, es requereix un conjunt molt més gran de retransmissions per retransmetre una seqüència completa.

En el nucli de Linux, els problemes es corregeixen en les versions 4.4.182, 4.9.182, 4.14.127, 4.19.52 i 5.1.11. La solució per a FreeBSD està disponible com un pegat.

Les actualitzacions de paquets de el nucli es publiquen per a Debian, RHEL, SUSE / openSUSE, ALT, Ubuntu, Fedora i Arch Linux.

CVE-2019-11477 (SACK Panic)

el problema es manifesta en els nuclis de Linux a partir de 2.6.29 i li permet provocar una caiguda de l'nucli (Panic) a l'enviar una sèrie de paquets de SACK causa de l'aparició d'un desbordament de sencers al controlador.

Per a un atac, és suficient establir el valor de MSS a 48 bytes per a una connexió TCP i enviar una seqüència d'una determinada manera de paquets SACK disposats.

L'essència de el problema és que l'estructura tcp_skb_cb (Socket Buffer) està dissenyada per a emmagatzemar 17 fragments ( «Defineix MAX_SKB_FRAGS (65536 / PAGE_SIZE + 1) => 17»).

En el procés d'enviament d'un paquet, es col·loca a la cua d'enviament i tcp_skb_cb emmagatzema detalls sobre el paquet, com el nombre de seqüència, les banderes, així com els camps «tcp_gso_segs» i «tcp_gso_size», que s'utilitzen per enviar informació de segmentació a el controlador (TSO, Segment Segment Descarregar) per processar segments a la banda de la targeta de xarxa.

Els fragments es guarden quan es produeix una pèrdua de paquet o la necessitat d'una retransmissió selectiva de paquets, si SACK està habilitat i TSO és compatible amb el controlador.

Com a solució per a la protecció, pot desactivar el processament de SACK o bloquejar les connexions amb un MSS petit (només funciona quan configura sysctl net.ipv4.tcp_mtu_probing a 0 i pot trencar una mica de normal) amb baix MSS).

CVE-2019-11478 (SACK Slowness)

aquesta fallada provoca una interrupció de l'mecanisme SACK (Quan s'utilitza el nucli de Linux en 4.15) o un consum excessiu de recursos.

El problema es manifesta quan es processen paquets SACK especialment dissenyats que poden utilitzar-se per fragmentar la cua de retransmissió (retransmissió de TCP). Les solucions per a la protecció són similars a les vulnerabilitats anteriors

CVE-2019-5599 (SACK Slowness)

Permet provocar la fragmentació de mapa de paquets enviats a l'processar una seqüència SACK especial dins d'una sola connexió TCP i provocar l'execució d'una operació de recerca de llista amb ús intensiu de recursos.

El problema es manifesta en FreeBSD 12 amb el mecanisme de detecció de pèrdua de paquets RACK. Com a solució alternativa, pot desactivar el mòdul bastidor (no es carrega per defecte, es desactiva especificant sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

La decisió permet que un atacant pot fer que el nucli de Linux divideixi les respostes en diversos segments TCP, cadascun dels quals inclou només 8 bytes de dades, el que pot provocar un augment significatiu de l'trànsit, un augment en la càrrega de la CPU i un canal de comunicació obstruït.

A més, consumeix recursos addicionals (Potència de processament de l'processador i la targeta de xarxa).

Aquest atac requereix esforços continus per part de l'atacant i els impactes acabaran poc després que l'atacant deixi d'enviar trànsit.

Mentre aquest atac estigui en curs, el sistema s'executarà a una capacitat reduïda, la qual cosa provocarà una denegació de servei per a alguns usuaris.

Un usuari remot pot desencadenar aquest problema establint la mida màxima de segment (MSS) d'una connexió TCP en el seu límit més baix (48 bytes) i enviant una seqüència de paquets SACK especialment dissenyats.

Com a solució alternativa, es recomana bloquejar les connexions amb MSS baix.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.