CVE-2026-31808

file-type detects the file type of a file, stream, or data. Prior to 21.3.1, a denial of service vulnerability exists in the ASF (WMV/WMA) file type detection parser. When parsing a crafted input where an ASF sub-header has a size field of zero, the parser enters an infinite loop. The payload value becomes negative (-24), causing tokenizer.ignore(payload) to move the read position backwards, so the same sub-header is read repeatedly forever. Any application that uses file-type to detect the type of untrusted/attacker-controlled input is affected. An attacker can stall the Node.js event loop with a 55-byte payload. Fixed in version 21.3.1.
Configurations

Configuration 1 (hide)

cpe:2.3:a:sindresorhus:file-type:*:*:*:*:*:node.js:*:*

History

18 Mar 2026, 19:48

Type Values Removed Values Added
CPE cpe:2.3:a:sindresorhus:file-type:*:*:*:*:*:node.js:*:*
First Time Sindresorhus file-type
Sindresorhus
References () https://github.com/sindresorhus/file-type/commit/319abf871b50ba2fa221b4a7050059f1ae096f4f - () https://github.com/sindresorhus/file-type/commit/319abf871b50ba2fa221b4a7050059f1ae096f4f - Patch
References () https://github.com/sindresorhus/file-type/security/advisories/GHSA-5v7r-6r5c-r473 - () https://github.com/sindresorhus/file-type/security/advisories/GHSA-5v7r-6r5c-r473 - Mitigation, Patch, Vendor Advisory

11 Mar 2026, 13:52

Type Values Removed Values Added
Summary
  • (es) file-type detecta el tipo de archivo de un archivo, flujo o datos. Antes de 21.3.1, existe una vulnerabilidad de denegación de servicio en el analizador de detección de tipo de archivo ASF (WMV/WMA). Al analizar una entrada manipulada donde un subencabezado ASF tiene un campo de tamaño de cero, el analizador entra en un bucle infinito. El valor de la carga útil se vuelve negativo (-24), haciendo que tokenizer.ignore(payload) mueva la posición de lectura hacia atrás, por lo que el mismo subencabezado se lee repetidamente para siempre. Cualquier aplicación que utiliza file-type para detectar el tipo de entrada no confiable/controlada por el atacante se ve afectada. Un atacante puede paralizar el bucle de eventos de Node.js con una carga útil de 55 bytes. Corregido en la versión 21.3.1.

10 Mar 2026, 21:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-10 21:16

Updated : 2026-03-18 19:48


NVD link : CVE-2026-31808

Mitre link : CVE-2026-31808

CVE.ORG link : CVE-2026-31808


JSON object : View

Products Affected

sindresorhus

  • file-type
CWE
CWE-835

Loop with Unreachable Exit Condition ('Infinite Loop')