<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://cve.radiocsirt.org/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-10-06T05:38:08.366709+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>csirt@opendfir.org</email>
  </author>
  <link href="https://cve.radiocsirt.org" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/euvd-2026-358649</id>
    <title>EUVD-2026-358649</title>
    <updated>2026-10-06T05:38:08.368930+00:00</updated>
    <content>EUVD-2026-358649</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-358649"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-61556</id>
    <title>fkie_cve-2026-61556</title>
    <updated>2026-10-06T05:38:08.368963+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>LiquidJS is a Shopify / GitHub Pages compatible template engine in pure JavaScript. From 10.26.0 until 10.27.1, the strip_html filter in src/filters/html.ts can enter an infinite loop when an input string contains &lt;, includes at least one preceding character, and has no later &gt;. In strip_html, the search for the next opener advances lt while the loop index remains unchanged when the closer search returns -1, and the equality-only stall guard does not exit because the loop index is less than lt. Reprocessing the same state indefinitely blocks template rendering and can cause denial of service with an input as short as a&lt;. This issue is fixed in version 10.27.1.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-61556"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-m7fp-h3p4-hr49</id>
    <title>GHSA-m7fp-h3p4-hr49 — LiquidJS has an infinite loop vulnerability in its `strip_html` filter</title>
    <updated>2026-10-06T05:38:08.368997+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: liquidjs</p>
<p>### Summary
The current implementation of `strip_html` can cause an infinite loop when the input string contains `&lt;`, has at least one character before `&lt;`, and no `&gt;` appears after `&lt;`.</p>
<p>### Details
The problem is in `src/filters/html.ts`.
Specifically, the following part has the infinite loop.</p>
<p>```
// Raw-text blocks (HTML5) plus '&lt;...&gt;' as the catch-all kind; a regex
// equivalent is O(n^2) in V8 on unclosed openers.
export function strip_html (this: FilterImpl, v: string) {
  const str = stringify(v)
  this.context.memoryLimit.use(str.length)
  const blocks = new Map([['&lt;script', '&lt;/script&gt;'], ['&lt;style', '&lt;/style&gt;'], ['&lt;!--', '--&gt;'], ['&lt;', '&gt;']])
  let out = ''
  let i = 0
  while (i &lt; str.length) {
    const lt = str.indexOf('&lt;', i)
    if (lt &lt; 0) return out + str.slice(i)
    out += str.slice(i, lt)
    for (const [opener, closer] of blocks) {
      if (!str.startsWith(opener, lt)) continue
      const e = str.indexOf(closer, lt + opener.length)
      if (e &gt;= 0) { i = e + closer.length; break }
      blocks.delete(opener)
    }
    if (i === lt) return out + str.slice(lt)
  }
  return out
}
```</p>
<p>For the input "a&lt;", the variable `lt` is updated to 1 by `const lt = str.indexOf('&lt;', i)`. However, the variable `i` is never updated from its initial value of 0. This is because in `const e = str.indexOf(closer, lt + opener.length)`, `e` becomes -1, since there is no &gt; after &lt;. Therefore, when execution reaches `if (i === lt) return out + str.slice(lt)`, `i` is 0. This is th…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-m7fp-h3p4-hr49"/>
  </entry>
</feed>
