{"id":"CVE-2026-103088","state":"PUBLISHED","title":"Handlebars.java before 4.5.5 allows directory traversal. In handlebars-springmvc 4.5.3 and 4.5.4, the path-containment fix for CVE-2026-63490 validates template locations as raw pe","description":"Handlebars.java before 4.5.5 allows directory traversal. In handlebars-springmvc 4.5.3 and 4.5.4, the path-containment fix for CVE-2026-63490 validates template locations as raw percent-encoded strings, whereas the template file is opened through a URL handler that percent-decodes the path. In a Spring MVC application with a file: template prefix and a request-derived view name, a percent-encoded traversal such as %2e%2e/ bypasses both the view-resolver check and the loader-side containment and reads files outside the configured template base directory.","publishedAt":"2026-09-30T00:55:19.940Z","updatedAt":"2026-09-30T17:21:46.603Z","severity":{"score":7.5,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","source":"mitre"},"assigner":"mitre","products":["jknack handlebars.java"],"affected":[{"vendor":"jknack","product":"handlebars.java","packageURL":"pkg:maven/com.github.jknack/handlebars-springmvc","defaultStatus":"unaffected","versions":[{"version":"4.5.3","status":"affected","lessThan":"4.5.5","versionType":"maven"}],"repo":"https://github.com/jknack/handlebars.java"}],"references":["https://github.com/jknack/handlebars.java/security/advisories/GHSA-pvrx-3g7m-fpgv","https://github.com/jknack/handlebars.java/commit/f6ae3979917d05bef07f00befb4013ef00503660","https://github.com/jknack/handlebars.java/releases/tag/v4.5.5"],"weaknesses":["CWE-24"],"ingestedAt":"2026-10-29T20:10:23.711Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/103xxx/CVE-2026-103088.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-103088","state":"PUBLISHED","datePublished":"2026-09-30T00:55:19.940Z","dateUpdated":"2026-09-30T17:21:46.603Z","assignerShortName":"mitre","assignerOrgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","dateReserved":"2026-09-30T00:55:19.173Z"},"containers":{"cna":{"descriptions":[{"lang":"en","value":"Handlebars.java before 4.5.5 allows directory traversal. In handlebars-springmvc 4.5.3 and 4.5.4, the path-containment fix for CVE-2026-63490 validates template locations as raw percent-encoded strings, whereas the template file is opened through a URL handler that percent-decodes the path. In a Spring MVC application with a file: template prefix and a request-derived view name, a percent-encoded traversal such as %2e%2e/ bypasses both the view-resolver check and the loader-side containment and reads files outside the configured template base directory."}],"affected":[{"vendor":"jknack","product":"handlebars.java","packageURL":"pkg:maven/com.github.jknack/handlebars-springmvc","defaultStatus":"unaffected","versions":[{"version":"4.5.3","status":"affected","lessThan":"4.5.5","versionType":"maven"}],"repo":"https://github.com/jknack/handlebars.java"}],"references":[{"url":"https://github.com/jknack/handlebars.java/security/advisories/GHSA-pvrx-3g7m-fpgv"},{"url":"https://github.com/jknack/handlebars.java/commit/f6ae3979917d05bef07f00befb4013ef00503660"},{"url":"https://github.com/jknack/handlebars.java/releases/tag/v4.5.5"}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":7.5,"baseSeverity":"HIGH","confidentialityImpact":"HIGH","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-24","description":"CWE-24 Path Traversal: '../filedir'","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"mitre","orgId":"8254265b-2729-46b6-b9e3-3dfca2d5bfca","dateUpdated":"2026-09-30T00:55:19.940Z"},"x_generator":{"engine":"CVE-Request-form 0.0.1"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/jknack/handlebars.java/security/advisories/GHSA-pvrx-3g7m-fpgv","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-30T17:13:35.282546Z","id":"CVE-2026-103088","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-30T17:21:46.603Z"}}]}}}