CVE-2026-63490

Handlebars.java provides logic-less and semantic Mustache templates with Java. Prior to 4.5.3, com.github.jknack.handlebars.springmvc.SpringTemplateLoader resolves attacker-influenced Spring MVC view names through Spring ResourceLoader without the path-containment validation used by other URL-based loaders. In handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/SpringTemplateLoader.java, a view name using a file: or classpath: URL and ending with the # fragment delimiter places the appended .hbs suffix in the fragment, which FileUrlResource.exists() and URL.openStream() discard. HandlebarsViewResolver in handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/HandlebarsViewResolver.java then passes the attacker-controlled name to handlebars.compile(), allowing an unauthenticated remote attacker to read files accessible to the JVM when an application exposes a controller with a user-influenced view name. This issue is fixed in version 4.5.3.
Configurations

No configuration.

History

18 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) Handlebars.java proporciona plantillas Mustache sin lógica y semánticas con Java. Antes de la versión 4.5.3, com.github.jknack.handlebars.springmvc.SpringTemplateLoader resuelve nombres de vista de Spring MVC influenciados por el atacante a través de Spring ResourceLoader sin la validación de contención de ruta utilizada por otros cargadores basados en URL. En handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/SpringTemplateLoader.java, un nombre de vista que utiliza una URL file: o classpath: y que termina con el delimitador de fragmento # coloca el sufijo .hbs adjunto en el fragmento, que FileUrlResource.exists() y URL.openStream() descartan. HandlebarsViewResolver en handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/HandlebarsViewResolver.java luego pasa el nombre controlado por el atacante a handlebars.compile(), permitiendo a un atacante remoto no autenticado leer archivos accesibles para la JVM cuando una aplicación expone un controlador con un nombre de vista influenciado por el usuario. Este problema está solucionado en la versión 4.5.3.

Information

Published : 2026-08-20 15:18

Updated : 2026-10-18 20:10


NVD link : CVE-2026-63490

Mitre link : CVE-2026-63490

CVE.ORG link : CVE-2026-63490


JSON object : View

Products Affected

No product.

CWE
CWE-22

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

CWE-23

Relative Path Traversal

CWE-552

Files or Directories Accessible to External Parties