Ad

CVE-2026-63490

HIGH CVSS 3.1: 7,5 EPSS 0.47%
Обновлено 20 августа 2026
GitHub
Параметр Значение
CVSS 7,5 (HIGH)
Устранено в версии 4.5.3
Тип уязвимости CWE-23 (Обход относительного пути), CWE-22 (Обход пути), CWE-552
Поставщик GitHub
Публичный эксплойт Нет

Handlebars.java предоставляет безлогические и семантические шаблоны Mustache для Java. До версии 4.5.3 com.github.jknack.handlebars.springmvc.SpringTemplateLoader разрешает имена представлений Spring MVC, находящиеся под влиянием злоумышленника, через Spring ResourceLoader без проверки содержания пути, используемой другими загрузчиками на основе URL-адресов. В handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/SpringTemplateLoader.java имя представления, использующее URL-адрес файла: или classpath: и заканчивающееся разделителем фрагмента #, помещает добавленный суффикс .hbs во фрагмент, который FileUrlResource.exists() и URL.openStream() отбрасывают. HandlebarsViewResolver в handlebars-springmvc/src/main/java/com/github/jknack/handlebars/springmvc/HandlebarsViewResolver.java затем передает имя, контролируемое злоумышленником, в handlebars.compile(), позволяя неаутентифицированному удаленному злоумышленнику читать файлы, доступные для JVM, когда приложение предоставляет контроллер с именем представления, заданным пользователем.

Эта проблема исправлена ​​в версии 4.5.3.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Нет
Нет модификации данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v3.1