El caso de La gigantesca interrupción del servicio de terminales de Windows del 19 de julio sigue siendo noticia. Mientras víctimas como Delta Airlines (que vio cancelados miles de vuelos) exigen una compensación económica, CrowdStrike, que causó el gigantesco accidente Entregó las conclusiones de su investigación sobre las causas profundas del incidenteEl informe incluye la primeros análisis posteriores al incidente es decir, brechas que afectan a dos procedimientos: el de actualización de la firma del exploit (Rapid Response Content) y el de prueba de la integridad de sus archivos de canal (Content Validator). El culpable es rápidamente identificado "Channel Files 291" que incluye actualizaciones de contenido (tipo plantilla) incluida una que detecta nuevas técnicas de ataque a las comunicaciones entre procesos (IPC) de Windows que abusan de los llamados Named Pipes.

En esta actualización de contenido implementada en la nube, el proveedor observa una "confluencia" de varias brechas que conducen a la falla. La más significativa de ellas es una discrepancia entre las 21 entradas que se pasan al Validador de contenido a través de una plantilla de IPC y las 20 entradas que se proporcionan al Intérprete de contenido. Golpe de masas dijo que el desajuste de parámetros no se descubrió durante los "múltiples niveles" del proceso de prueba en parte debido al uso de metacaracteres comodín para los 21mi entrada durante las pruebas y en las instancias de plantilla IPC entregadas entre marzo y abril de 2024.

Sólo falta una entrada y es un desastre.

El 19 de julio se envió el Channel Files 291, incluida la primera instancia de plantilla de IPC, incluida la 21mi entrada. La falta de una prueba específica sobre esta entrada adicional significa que este problema solo se informó después de que el contenido se envió a los sensores. Los sensores "recibieron la nueva versión de Channel Files 291 que contenía el contenido problemático y estuvieron expuestos a una latencia de lectura en el intérprete de contenido", dijo la empresa. "El intérprete de contenido solo esperaba 20 valores. Por lo tanto, el intento de acceder a los 21mi "El valor provocó que una lectura de memoria se desbordara más allá del final de la matriz de datos de entrada y provocó que el sistema se bloqueara".

Además de validar la cantidad de campos de entrada en el tipo de plantilla en el momento de compilación del sensor para resolver el problema, CrowdStrike dijo que también agregó controles de límites de matriz de entrada en el tiempo de ejecución de Content Interpreter para evitar desbordamientos de lectura de memoria y corrigió la cantidad de entradas proporcionadas por los IPC de tipo de plantilla.