CVE-2026-33490

H3 is a minimal H(TTP) framework. In versions 2.0.0-0 through 2.0.1-rc.16, the `mount()` method in h3 uses a simple `startsWith()` check to determine whether incoming requests fall under a mounted sub-application's path prefix. Because this check does not verify a path segment boundary (i.e., that the next character after the base is `/` or end-of-string), middleware registered on a mount like `/admin` will also execute for unrelated routes such as `/admin-public`, `/administrator`, or `/adminstuff`. This allows an attacker to trigger context-setting middleware on paths it was never intended to cover, potentially polluting request context with unintended privilege flags. Version 2.0.2-rc.17 contains a patch.
References
Configurations

Configuration 1 (hide)

OR cpe:2.3:a:h3:h3:2.0.1:rc1:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc10:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc11:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc12:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc13:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc14:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc15:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc16:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc2:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc3:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc4:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc5:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc6:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc7:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc8:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc9:*:*:*:node.js:*:*

History

31 Mar 2026, 21:00

Type Values Removed Values Added
CPE cpe:2.3:a:h3:h3:2.0.1:rc8:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc6:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc14:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc12:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc10:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc4:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc16:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc7:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc5:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc15:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc9:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc13:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc2:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc1:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc3:*:*:*:node.js:*:*
cpe:2.3:a:h3:h3:2.0.1:rc11:*:*:*:node.js:*:*
References () https://github.com/h3js/h3/security/advisories/GHSA-2j6q-whv2-gh6w - () https://github.com/h3js/h3/security/advisories/GHSA-2j6q-whv2-gh6w - Exploit, Mitigation, Vendor Advisory
First Time H3 h3
H3

30 Mar 2026, 13:26

Type Values Removed Values Added
Summary
  • (es) H3 es un framework H(TTP) mínimo. En las versiones 2.0.0-0 hasta la 2.0.1-rc.16, el método 'mount()' en h3 usa una simple verificación 'startsWith()' para determinar si las solicitudes entrantes caen bajo el prefijo de ruta de una subaplicación montada. Debido a que esta verificación no verifica un límite de segmento de ruta (es decir, que el siguiente carácter después de la base es '/' o el final de la cadena), el middleware registrado en un montaje como '/admin' también se ejecutará para rutas no relacionadas como '/admin-public', '/administrator' o '/adminstuff'. Esto permite a un atacante activar middleware de configuración de contexto en rutas que nunca se pretendió cubrir, potencialmente contaminando el contexto de la solicitud con indicadores de privilegio no deseados. La versión 2.0.2-rc.17 contiene un parche.

26 Mar 2026, 19:17

Type Values Removed Values Added
References () https://github.com/h3js/h3/security/advisories/GHSA-2j6q-whv2-gh6w - () https://github.com/h3js/h3/security/advisories/GHSA-2j6q-whv2-gh6w -

26 Mar 2026, 18:16

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-26 18:16

Updated : 2026-03-31 21:00


NVD link : CVE-2026-33490

Mitre link : CVE-2026-33490

CVE.ORG link : CVE-2026-33490


JSON object : View

Products Affected

h3

  • h3
CWE
CWE-706

Use of Incorrectly-Resolved Name or Reference