<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://db.gcve.eu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Fri, 09 Oct 2026 15:26:06 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-106446</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-106446</link>
      <description>&lt;p&gt;Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.compile() and Handlebars.precompile() accept pre-parsed AST objects while validating only selected PathExpression, NumberLiteral, and BooleanLiteral values. This issue bypasses the AST validation introduced in version 4.7.9 for CVE-2026-33937. An attacker who can supply an object instead of a template string can place JavaScript expressions in unchecked values such as Program.blockParams.length, a non-PathExpression parameter depth, a non-string StringLiteral.value, or a non-string PathExpression.original. The compiler emits those values into generated JavaScript, causing code execution in the server process when compile output renders or wherever precompile output is loaded. Applications that pass only template strings are not affected. This issue is fixed in version 4.7.10.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Handlebars provides the power necessary to let users build semantic templates. From 4.0.0 until 4.7.10, Handlebars.compile() and Handlebars.precompile() accept pre-parsed AST objects while validating only selected PathExpression, NumberLiteral, and BooleanLiteral values. This issue bypasses the AST validation introduced in version 4.7.9 for CVE-2026-33937. An attacker who can supply an object instead of a template string can place JavaScript expressions in unchecked values such as Program.blockParams.length, a non-PathExpression parameter depth, a non-string StringLiteral.value, or a non-string PathExpression.original. The compiler emits those values into generated JavaScript, causing code execution in the server process when compile output renders or wherever precompile output is loaded. Applications that pass only template strings are not affected. This issue is fixed in version 4.7.10.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-106446</guid>
    </item>
    <item>
      <title>GHSA-8r5x-fm3f-whwj — Handlebars: JavaScript Injection via AST Type Confusion in compile (bypass of CVE-2026-33937)</title>
      <link>https://db.gcve.eu/vuln/ghsa-8r5x-fm3f-whwj</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: handlebars&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Handlebars.compile()` and `Handlebars.precompile()` accept a pre-parsed AST as well as a template string. Handlebars 4.7.9 added validation for such ASTs. It only checks values on `PathExpression`, `NumberLiteral` and `BooleanLiteral` nodes, and the compiler still writes several other AST values into the generated JavaScript unchecked.&lt;/p&gt;
&lt;p&gt;If an application passes an untrusted object to `compile()` or `precompile()`, such as a parsed JSON request body, that object can carry arbitrary JavaScript. With `compile()`, the code runs on the server when the template renders. With `precompile()`, it ends up in the precompiled output and runs wherever that output is loaded.&lt;/p&gt;
&lt;p&gt;Applications that only ever pass template **strings** are not affected.&lt;/p&gt;
&lt;p&gt;This bypasses the AST validation added in 4.7.9 for GHSA-2w6w-674q-4c4q, GHSA-xhpv-hc6g-r9c6 and GHSA-3mfm-83xf-c92r.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The 4.7.9 validator runs in `parseWithoutProcessing()` and walks the whole AST. It only checks values on nodes whose `type` is `PathExpression`, `NumberLiteral` or `BooleanLiteral`. It passes over plain objects without a `type`, and over strings and other non-object values. The compiler reads these values from other places and writes them into the generated code as-is:&lt;/p&gt;
&lt;p&gt;| AST value | Written into generated code as | Compile options needed |
| --- | --- | --- |
| `Program.blockParams.length` | `container.program(&amp;lt;index&amp;gt;, data, &amp;lt;length&amp;gt;)` | none (default options) |
| `depth` on a param that is not a `PathE…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: handlebars&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;`Handlebars.compile()` and `Handlebars.precompile()` accept a pre-parsed AST as well as a template string. Handlebars 4.7.9 added validation for such ASTs. It only checks values on `PathExpression`, `NumberLiteral` and `BooleanLiteral` nodes, and the compiler still writes several other AST values into the generated JavaScript unchecked.&lt;/p&gt;
&lt;p&gt;If an application passes an untrusted object to `compile()` or `precompile()`, such as a parsed JSON request body, that object can carry arbitrary JavaScript. With `compile()`, the code runs on the server when the template renders. With `precompile()`, it ends up in the precompiled output and runs wherever that output is loaded.&lt;/p&gt;
&lt;p&gt;Applications that only ever pass template **strings** are not affected.&lt;/p&gt;
&lt;p&gt;This bypasses the AST validation added in 4.7.9 for GHSA-2w6w-674q-4c4q, GHSA-xhpv-hc6g-r9c6 and GHSA-3mfm-83xf-c92r.&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;The 4.7.9 validator runs in `parseWithoutProcessing()` and walks the whole AST. It only checks values on nodes whose `type` is `PathExpression`, `NumberLiteral` or `BooleanLiteral`. It passes over plain objects without a `type`, and over strings and other non-object values. The compiler reads these values from other places and writes them into the generated code as-is:&lt;/p&gt;
&lt;p&gt;| AST value | Written into generated code as | Compile options needed |
| --- | --- | --- |
| `Program.blockParams.length` | `container.program(&amp;lt;index&amp;gt;, data, &amp;lt;length&amp;gt;)` | none (default options) |
| `depth` on a param that is not a `PathE…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-8r5x-fm3f-whwj</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-106446</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-106446</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: ruby-handlebars-assets, Ubuntu:18.04:LTS: node-handlebars, Ubuntu:18.04:LTS: ruby-handlebars-assets, Ubuntu:20.04:LTS: node-handlebars, Ubuntu:20.04:LTS: ruby-handlebars-assets, Ubuntu:22.04:LTS: node-handlebars, Ubuntu:22.04:LTS: ruby-handlebars-assets, Ubuntu:24.04:LTS: node-handlebars, Ubuntu:24.04:LTS: ruby-handlebars-assets, Ubuntu:26.04:LTS: node-handlebars&lt;/p&gt;
&lt;p&gt;(Handlebars provides the power necessary to let users build semantic te ...)&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:16.04:LTS: ruby-handlebars-assets, Ubuntu:18.04:LTS: node-handlebars, Ubuntu:18.04:LTS: ruby-handlebars-assets, Ubuntu:20.04:LTS: node-handlebars, Ubuntu:20.04:LTS: ruby-handlebars-assets, Ubuntu:22.04:LTS: node-handlebars, Ubuntu:22.04:LTS: ruby-handlebars-assets, Ubuntu:24.04:LTS: node-handlebars, Ubuntu:24.04:LTS: ruby-handlebars-assets, Ubuntu:26.04:LTS: node-handlebars&lt;/p&gt;
&lt;p&gt;(Handlebars provides the power necessary to let users build semantic te ...)&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-106446</guid>
    </item>
  </channel>
</rss>
