Node.js 22.23.3 LTS corrige un error use-after-free en HTTP/2
Node.js 22.23.3 LTS, publicado el 23 de septiembre, corrige un error use-after-free en HTTP/2, añade soporte de SharedArrayBuffer a Node-API y pasa a OpenSSL 3.5.8.
3 min de lectura

El proyecto Node.js publicó Node.js 22.23.3 el 23 de septiembre de 2026, un parche para su línea de soporte a largo plazo. El cambio más importante corrige un error use-after-free en HTTP/2, un fallo de memoria en el código que gestiona las conexiones HTTP/2. Quien sirva HTTP/2 desde Node.js 22 debería planificar la actualización.
Node.js es el entorno de ejecución que permite a JavaScript funcionar en servidores y no solo en el navegador. La versión 22 es una versión de soporte a largo plazo (LTS). Eso significa que recibe correcciones durante años y que muchas empresas la usan en producción. Su nombre en clave es "Jod".
Qué cambia la corrección de HTTP/2
HTTP/2 es la versión más reciente del principal protocolo de la web. Permite que una sola conexión lleve muchas solicitudes a la vez, cada una en su propio "flujo".
Un error use-after-free ocurre cuando un programa sigue usando una parte de la memoria después de haberla devuelto. El programa lee o escribe entonces datos que pueden pertenecer a otra cosa. Los errores de este tipo pueden hacer que un programa se bloquee, y por eso se corrigen rápido.
Según LinuxCompatible, el problema era una condición de carrera en nghttp2_session_mem_recv2(). Esa función forma parte de nghttp2, la biblioteca que Node.js usa para leer el tráfico HTTP/2. Si un flujo se cerraba mientras aún se procesaban datos entrantes, el código podía tocar memoria ya liberada. La corrección espera a que termine el paso de recepción antes de procesar el mensaje de cierre del flujo, llamado RST_STREAM.
Ninguna de las dos fuentes da un número CVE ni una calificación de gravedad para el error. Las notas de la versión oficiales lo incluyen como corrección de errores. No aparece en las publicaciones de versiones de seguridad del proyecto, cuya entrada más reciente es de julio de 2026.
Nuevas funciones de Node-API para SharedArrayBuffer
Node-API es la interfaz estable que usan los complementos nativos. Los complementos nativos son módulos escritos en C o C++ que Node.js carga directamente, como controladores de bases de datos o bibliotecas de imágenes.
Esta versión permite que esos complementos trabajen con SharedArrayBuffer, un bloque de memoria que varios hilos de JavaScript pueden leer y escribir al mismo tiempo. Las notas de la versión añaden napi_create_external_sharedarraybuffer y amplían napi_create_typedarray para que acepte un SharedArrayBuffer.
Otras correcciones y actualizaciones de dependencias
Se enumeran dos correcciones menores. Una recupera la posibilidad de parchear el módulo del sistema de archivos fs cuando el código se carga a través del cargador de módulos ES. La otra corrige cómo se escapan las variables de entorno en Windows.
La versión también actualiza las bibliotecas incluidas:
| Componente | Nueva versión |
|---|---|
| OpenSSL | 3.5.8 |
| Certificados raíz | NSS 3.125 |
| npm | 10.9.9 |
| corepack | 0.36.0 |
| Undici | 6.28.1 |
| ICU | 78.3 |
| c-ares | 1.34.8 |
| Datos de zonas horarias | 2026c |
OpenSSL se encarga del cifrado de HTTPS. Undici es el cliente HTTP detrás del fetch integrado de Node. Los certificados raíz deciden en qué sitios HTTPS confía Node.js por defecto.
Qué significa para los desarrolladores
Comprueba si tus servicios de Node.js 22 hablan HTTP/2 directamente. Eso incluye servidores construidos sobre el módulo http2, servicios gRPC y aplicaciones que terminan TLS por sí mismas sin un proxy delante. Son los servicios más expuestos al error de cierre de flujos, así que pásalos primero a 22.23.3.
Actualiza tus imágenes base, no solo tus portátiles. Muchos equipos fijan una versión de Node en un Dockerfile, una configuración de CI o un archivo .nvmrc. Busca 22. en esos archivos y sube cada una, y después vuelve a compilar.
Si mantienes un complemento nativo, las nuevas funciones de Node-API te permiten compartir memoria con hilos de trabajo sin copiarla. Añade una comprobación de versión, porque estas funciones solo existen en versiones recientes y las compilaciones antiguas de Node 22 no las tienen.
Si tu conjunto de pruebas simula el módulo fs bajo módulos ES y se rompió con una versión 22.x anterior, vuelve a ejecutarlo en 22.23.3. La recuperación del parcheo puede permitirte eliminar una solución provisional.
Por último, estate atento a un CVE. Las notas de la versión no mencionan ninguno, y el proyecto podría publicar un aviso de seguridad más adelante. Hasta entonces, trata esto como un parche que conviene aplicar ya, en lugar de esperar a la próxima actualización programada.
Fuentes
- Node.js 22.23.3 (LTS) - Node.js
- Node.js 22.23.3 LTS Released with HTTP/2 Use-After-Free Fix - LinuxCompatible
Artículos relacionados

Un XSS en los logs de build de SourceHut permitía tomar el control de cuentas
Un log de build manipulado podía ejecutar código en el navegador de un usuario de SourceHut. ansi2html 1.9.4 corrige el fallo, CVE-2026-92973, que afectaba a las versiones 1.7.0 a 1.9.3.

Radicle hasta 1.10.3 envía repos privados en texto plano
Todas las versiones de Radicle hasta 1.10.3 envían los datos de los repositorios sin cifrar y dejan que un atacante imite a un par de confianza. Aún no hay arreglo.

Gzip 1.15 corrige una carrera que borraba el archivo equivocado
Gzip 1.15 reúne 119 commits de 75 semanas de trabajo. Corrige una carrera que podía borrar el archivo equivocado y un desbordamiento de búfer al descomprimir .lzh.