<?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://cve.radiocsirt.org</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, 02 Oct 2026 20:40:00 +0000</lastBuildDate>
    <item>
      <title>EUVD-2026-292427</title>
      <link>https://cve.radiocsirt.org/vuln/euvd-2026-292427</link>
      <description>EUVD-2026-292427</description>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/euvd-2026-292427</guid>
    </item>
    <item>
      <title>fkie_cve-2026-40887</title>
      <link>https://cve.radiocsirt.org/vuln/fkie_cve-2026-40887</link>
      <description>&lt;p&gt;Vendure is an open-source headless commerce platform. Starting in version 1.7.4 and prior to versions 2.3.4, 3.5.7, and 3.6.2, an unauthenticated SQL injection vulnerability exists in the Vendure Shop API. A user-controlled query string parameter is interpolated directly into a raw SQL expression without parameterization or validation, allowing an attacker to execute arbitrary SQL against the database. This affects all supported database backends (PostgreSQL, MySQL/MariaDB, SQLite). The Admin API is also affected, though exploitation there requires authentication. Versions 2.3.4, 3.5.7, and 3.6.2 contain a patch. For those who are unable to upgrade immediately, Vendure has made a hotfix available that uses `RequestContextService.getLanguageCode` to validate the `languageCode` input at the boundary. This blocks injection payloads before they can reach any query. The hotfix replaces the existing `getLanguageCode` method in `packages/core/src/service/helpers/request-context/request-context.service.ts`. Invalid values are silently dropped and the channel&amp;#39;s default language is used instead. The patched versions additionally convert the vulnerable SQL interpolation to a parameterized query as defense in depth.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Vendure is an open-source headless commerce platform. Starting in version 1.7.4 and prior to versions 2.3.4, 3.5.7, and 3.6.2, an unauthenticated SQL injection vulnerability exists in the Vendure Shop API. A user-controlled query string parameter is interpolated directly into a raw SQL expression without parameterization or validation, allowing an attacker to execute arbitrary SQL against the database. This affects all supported database backends (PostgreSQL, MySQL/MariaDB, SQLite). The Admin API is also affected, though exploitation there requires authentication. Versions 2.3.4, 3.5.7, and 3.6.2 contain a patch. For those who are unable to upgrade immediately, Vendure has made a hotfix available that uses `RequestContextService.getLanguageCode` to validate the `languageCode` input at the boundary. This blocks injection payloads before they can reach any query. The hotfix replaces the existing `getLanguageCode` method in `packages/core/src/service/helpers/request-context/request-context.service.ts`. Invalid values are silently dropped and the channel&amp;#39;s default language is used instead. The patched versions additionally convert the vulnerable SQL interpolation to a parameterized query as defense in depth.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/fkie_cve-2026-40887</guid>
    </item>
    <item>
      <title>GHSA-9pp3-53p2-ww9v — @vendure/core has a SQL Injection vulnerability</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-9pp3-53p2-ww9v</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @vendure/core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated SQL injection vulnerability exists in the Vendure Shop API. A user-controlled query string parameter is interpolated directly into a raw SQL expression without parameterization or validation, allowing an attacker to execute arbitrary SQL against the database. This affects all supported database backends (PostgreSQL, MySQL/MariaDB, SQLite).&lt;/p&gt;
&lt;p&gt;The Admin API is also affected, though exploitation there requires authentication.&lt;/p&gt;
&lt;p&gt;## Affected versions&lt;/p&gt;
&lt;p&gt;- `@vendure/core` &amp;lt; 2.3.4
- `@vendure/core` &amp;gt;= 3.0.0, &amp;lt; 3.5.7
- `@vendure/core` &amp;gt;= 3.6.0, &amp;lt; 3.6.2&lt;/p&gt;
&lt;p&gt;Note: versions 2.3.4 and above in the 2.x line are patched. There were no 2.4.x or 2.x releases between 2.3.x and 3.0.0.&lt;/p&gt;
&lt;p&gt;## Patched versions&lt;/p&gt;
&lt;p&gt;- `@vendure/core` 2.3.4
- `@vendure/core` 3.5.7
- `@vendure/core` 3.6.2&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;In `ProductService.findOneBySlug`, the request context&amp;#39;s `languageCode` value is interpolated into a SQL `CASE` expression via a JavaScript template literal:&lt;/p&gt;
&lt;p&gt;```ts
.addSelect(
    `CASE translation.languageCode WHEN &amp;#39;${ctx.languageCode}&amp;#39; THEN 2 WHEN &amp;#39;${ctx.channel.defaultLanguageCode}&amp;#39; THEN 1 ELSE 0 END`,
    &amp;#39;sort_order&amp;#39;,
)
```&lt;/p&gt;
&lt;p&gt;TypeORM has no opportunity to parameterize this value because it is embedded directly into the SQL string before being passed to the query builder.&lt;/p&gt;
&lt;p&gt;The `languageCode` value can originate from the HTTP query string and is set on the request context for every incoming API request. The value is cast to the `LanguageCode` TypeScript type at compile time, but n…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @vendure/core&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;An unauthenticated SQL injection vulnerability exists in the Vendure Shop API. A user-controlled query string parameter is interpolated directly into a raw SQL expression without parameterization or validation, allowing an attacker to execute arbitrary SQL against the database. This affects all supported database backends (PostgreSQL, MySQL/MariaDB, SQLite).&lt;/p&gt;
&lt;p&gt;The Admin API is also affected, though exploitation there requires authentication.&lt;/p&gt;
&lt;p&gt;## Affected versions&lt;/p&gt;
&lt;p&gt;- `@vendure/core` &amp;lt; 2.3.4
- `@vendure/core` &amp;gt;= 3.0.0, &amp;lt; 3.5.7
- `@vendure/core` &amp;gt;= 3.6.0, &amp;lt; 3.6.2&lt;/p&gt;
&lt;p&gt;Note: versions 2.3.4 and above in the 2.x line are patched. There were no 2.4.x or 2.x releases between 2.3.x and 3.0.0.&lt;/p&gt;
&lt;p&gt;## Patched versions&lt;/p&gt;
&lt;p&gt;- `@vendure/core` 2.3.4
- `@vendure/core` 3.5.7
- `@vendure/core` 3.6.2&lt;/p&gt;
&lt;p&gt;## Details&lt;/p&gt;
&lt;p&gt;In `ProductService.findOneBySlug`, the request context&amp;#39;s `languageCode` value is interpolated into a SQL `CASE` expression via a JavaScript template literal:&lt;/p&gt;
&lt;p&gt;```ts
.addSelect(
    `CASE translation.languageCode WHEN &amp;#39;${ctx.languageCode}&amp;#39; THEN 2 WHEN &amp;#39;${ctx.channel.defaultLanguageCode}&amp;#39; THEN 1 ELSE 0 END`,
    &amp;#39;sort_order&amp;#39;,
)
```&lt;/p&gt;
&lt;p&gt;TypeORM has no opportunity to parameterize this value because it is embedded directly into the SQL string before being passed to the query builder.&lt;/p&gt;
&lt;p&gt;The `languageCode` value can originate from the HTTP query string and is set on the request context for every incoming API request. The value is cast to the `LanguageCode` TypeScript type at compile time, but n…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-9pp3-53p2-ww9v</guid>
    </item>
  </channel>
</rss>
