CVE-2026-89321 in OpenVSXinformación

Resumen

por VulDB • 2026-09-14

La limitación de la publicación restringe el tamaño comprimido de un VSIX (ovsx.publishing.max-content-size, 512 MB por defecto), pero nada limitaba lo grande que podía llegar a ser una entrada al abrirse.

En la primera solicitud a /vscode/unpkg/{namespace}/{extension}/{version}/{path}, WebResourceService abría la entrada con ZipFile.getInputStream() y pasaba el flujo descomprimido a Files.copy(), el cual se ejecutaba hasta el final del flujo sin contar los bytes escritos. El resultado se almacenaba en caché bajo java.io.tmpdir, y esa caché se eliminaba por conteo de entradas (150), no por tamaño, por lo que no imponía ningún límite al uso del disco.

Un editor con acceso únicamente a su propio espacio de nombres podría, por tanto, subir un VSIX pequeño altamente compresible y hacer que el servidor escribiera archivos mucho más grandes en el sistema temporal; repitiendo la operación con diferentes archivos o versiones, ya que una solicitud repetida se sirve desde la caché.

Impacto observado: el sistema de archivos temporal se llenó; las solicitudes para archivos no almacenados previamente en caché devolvían 500 con "No space left on device" (no queda espacio en el dispositivo); un fallo en la extracción dejaba un archivo parcial en caché que bloqueaba intentos posteriores en esa ruta; la publicación fallaba con "Failed to read extension file" (Error al leer el archivo de extensión). Los metadatos y los archivos ya almacenados en caché seguían funcionando, y el servidor no se detenía.

Activar la extracción no requiere autenticación; solo la subida sí lo requiere.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsable

Eclipse

Reservar

2026-09-11

Divulgación

2026-09-14

Moderación

aceptado

Artículo

VDB-403477

CPE

listo

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!