Vulnerabilidad en el análisis de los marcos de datos en Rust-WebSocket (CVE-2022-35922)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
01/08/2022
Última modificación:
07/11/2023
Descripción
Rust-WebSocket es una biblioteca WebSocket (RFC6455) escrita en Rust. En versiones anteriores a la 0.26.5, las conexiones de websocket que no son confiables pueden causar una interrupción del proceso por falta de memoria (OOM) en un cliente o un servidor. La causa del problema es durante el análisis de los marcos de datos. Las versiones afectadas asignan un búfer basado en el tamaño declarado del marco de datos, que puede provenir de una fuente no confiable. Cuando "Vec::with_capacity" falla en la asignación, el asignador por defecto de Rust abortará el proceso actual, matando todos los hilos. Esto afecta sólo a la implementación sync (no-Tokio). La versión asíncrona tampoco limita la memoria, pero no usa "with_capacity", por lo que el DoS puede ocurrir sólo cuando los bytes para el marco de datos o el mensaje sobredimensionados son realmente entregados por el atacante. Los bloqueos son corregidos en versión 0.26.5, al imponer límites de tamaño de dataframe por defecto. Es recomendado a usuarios afectados actualizar a esta versión. Es recomendado a usuarios que no puedan actualizar filtrar el tráfico de websocket externamente o que sólo acepten tráfico confiable
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:rust-websocket_project:rust-websocket:*:*:*:*:*:*:*:* | 0.26.5 (excluyendo) | |
| cpe:2.3:o:fedoraproject:fedora:35:*:*:*:*:*:*:* | ||
| cpe:2.3:o:fedoraproject:fedora:36:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página
Referencias a soluciones, herramientas e información
- https://github.com/websockets-rs/rust-websocket/commit/cbf6e9983e839d2ecad86de8cd1b3f20ed43390b
- https://github.com/websockets-rs/rust-websocket/security/advisories/GHSA-qrjv-rf5q-qpxc
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/4V2EOOU5OLEHVMKAH6BALQXKDKIZRXCI/
- https://lists.fedoraproject.org/archives/list/package-announce%40lists.fedoraproject.org/message/HYPNCM4H4OFBIZI6XMJ2DUTS54FT2TWP/



