<?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-07T09:07:16.331410+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-290186</id>
    <title>EUVD-2026-290186</title>
    <updated>2026-10-07T09:07:16.376925+00:00</updated>
    <content>EUVD-2026-290186</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-290186"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-39412</id>
    <title>fkie_cve-2026-39412</title>
    <updated>2026-10-07T09:07:16.376962+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. Prior to 10.25.4, the sort_natural filter bypasses the ownPropertyOnly security option, allowing template authors to extract values of prototype-inherited properties through a sorting side-channel attack. Applications relying on ownPropertyOnly: true as a security boundary (e.g., multi-tenant template systems) are exposed to information disclosure of sensitive prototype properties such as API keys and tokens. This vulnerability is fixed in 10.25.4.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-39412"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-rv5g-f82m-qrvv</id>
    <title>GHSA-rv5g-f82m-qrvv — LiquidJS: ownPropertyOnly bypass via sort_natural filter — prototype property information disclosure through sorting si…</title>
    <updated>2026-10-07T09:07:16.376996+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> npm: liquidjs</p>
<p>### Summary</p>
<p>The `sort_natural` filter bypasses the `ownPropertyOnly` security option, allowing template authors to extract values of prototype-inherited properties through a sorting side-channel attack. Applications relying on `ownPropertyOnly: true` as a security boundary (e.g., multi-tenant template systems) are exposed to information disclosure of sensitive prototype properties such as API keys and tokens.</p>
<p>### Details</p>
<p>In `src/filters/array.ts`, the `sort_natural` function (lines 40-48) accesses object properties using direct bracket notation (`lhs[propertyString]`), which traverses the JavaScript prototype chain:</p>
<p>```typescript
export function sort_natural&lt;T&gt; (this: FilterImpl, input: T[], property?: string) {
  const propertyString = stringify(property)
  const compare = property === undefined
    ? caseInsensitiveCompare
    : (lhs: T, rhs: T) =&gt; caseInsensitiveCompare(lhs[propertyString], rhs[propertyString])
  const array = toArray(input)
  this.context.memoryLimit.use(array.length)
  return [...array].sort(compare)
}
```</p>
<p>In contrast, the correct approach used elsewhere in the codebase goes through `readJSProperty` in `src/context/context.ts`, which checks `hasOwnProperty` when `ownPropertyOnly` is enabled:</p>
<p>```typescript
export function readJSProperty (obj: Scope, key: PropertyKey, ownPropertyOnly: boolean) {
  if (ownPropertyOnly &amp;&amp; !hasOwnProperty.call(obj, key) &amp;&amp; !(obj instanceof Drop)) return undefined
  return obj[key]
}
```</p>
<p>The `sort_natural` filter bypas…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-rv5g-f82m-qrvv"/>
  </entry>
</feed>
