<?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, 01 Nov 2026 13:15:44 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-118651</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-118651</link>
      <description>&lt;p&gt;Echo is a Go web framework. From 4.0.0 until 5.4.0, the Proxy middleware can preserve an attacker-supplied X-Real-IP header and forward it to an upstream service when Echo.IPExtractor is not configured. A remote client can therefore make upstream services receive a spoofed client address, undermining IP-based access controls, rate limiting, audit logging, or geographic restrictions that trust Echo&amp;#39;s forwarded identity. This issue is fixed in Echo 5.4.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Echo is a Go web framework. From 4.0.0 until 5.4.0, the Proxy middleware can preserve an attacker-supplied X-Real-IP header and forward it to an upstream service when Echo.IPExtractor is not configured. A remote client can therefore make upstream services receive a spoofed client address, undermining IP-based access controls, rate limiting, audit logging, or geographic restrictions that trust Echo&amp;#39;s forwarded identity. This issue is fixed in Echo 5.4.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-118651</guid>
    </item>
    <item>
      <title>GHSA-99jh-6h7p-pp36 — Echo: Reverse Proxy Forwards Attacker-Supplied X-Real-IP to Upstream by Default</title>
      <link>https://db.gcve.eu/vuln/ghsa-99jh-6h7p-pp36</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/labstack/echo/v5, Go: github.com/labstack/echo/v4&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The Echo proxy middleware (`middleware/proxy.go`) preserves an incoming `X-Real-IP` header verbatim and forwards it to the upstream service when `Echo#IPExtractor` is not configured — which is the default. Because any HTTP client can supply an arbitrary `X-Real-IP` value, an attacker can cause Echo to relay a spoofed client IP address to every upstream service behind the proxy, undermining upstream IP-based access controls, rate limiting, audit logging, and geo-restriction.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- `middleware/proxy.go` — `ProxyConfig.ToMiddleware()`, header-rewriting block (lines 351–355)&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;### The header-preservation condition passes spoofed values to upstream&lt;/p&gt;
&lt;p&gt;`ProxyConfig.ToMiddleware()` (`proxy.go:338-405`) prepares forwarding headers before dispatching each request. The `X-Real-IP` rewrite logic at lines 351-355 reads:&lt;/p&gt;
&lt;p&gt;```go
// proxy.go:351-355
// Basically it&amp;#39;s not good practice to unconditionally pass incoming x-real-ip header to upstream.
// However, for backward compatibility, legacy behavior is preserved unless you configure Echo#IPExtractor.
if req.Header.Get(echo.HeaderXRealIP) == &amp;#34;&amp;#34; || c.Echo().IPExtractor != nil {
    req.Header.Set(echo.HeaderXRealIP, c.RealIP())
}
```&lt;/p&gt;
&lt;p&gt;The condition is `TRUE` (and therefore overwrites the header with a derived value) only when:
- The header is absent — `req.Header.Get(echo.HeaderXRealIP) == &amp;#34;&amp;#34;`; **or**
- `IPExtractor` is explicitly configured — `c.Echo().IPExtractor != nil`&lt;/p&gt;
&lt;p&gt;The condition is `FAL…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/labstack/echo/v5, Go: github.com/labstack/echo/v4&lt;/p&gt;
&lt;p&gt;## Summary&lt;/p&gt;
&lt;p&gt;The Echo proxy middleware (`middleware/proxy.go`) preserves an incoming `X-Real-IP` header verbatim and forwards it to the upstream service when `Echo#IPExtractor` is not configured — which is the default. Because any HTTP client can supply an arbitrary `X-Real-IP` value, an attacker can cause Echo to relay a spoofed client IP address to every upstream service behind the proxy, undermining upstream IP-based access controls, rate limiting, audit logging, and geo-restriction.&lt;/p&gt;
&lt;p&gt;## Affected Component&lt;/p&gt;
&lt;p&gt;- `middleware/proxy.go` — `ProxyConfig.ToMiddleware()`, header-rewriting block (lines 351–355)&lt;/p&gt;
&lt;p&gt;## Description&lt;/p&gt;
&lt;p&gt;### The header-preservation condition passes spoofed values to upstream&lt;/p&gt;
&lt;p&gt;`ProxyConfig.ToMiddleware()` (`proxy.go:338-405`) prepares forwarding headers before dispatching each request. The `X-Real-IP` rewrite logic at lines 351-355 reads:&lt;/p&gt;
&lt;p&gt;```go
// proxy.go:351-355
// Basically it&amp;#39;s not good practice to unconditionally pass incoming x-real-ip header to upstream.
// However, for backward compatibility, legacy behavior is preserved unless you configure Echo#IPExtractor.
if req.Header.Get(echo.HeaderXRealIP) == &amp;#34;&amp;#34; || c.Echo().IPExtractor != nil {
    req.Header.Set(echo.HeaderXRealIP, c.RealIP())
}
```&lt;/p&gt;
&lt;p&gt;The condition is `TRUE` (and therefore overwrites the header with a derived value) only when:
- The header is absent — `req.Header.Get(echo.HeaderXRealIP) == &amp;#34;&amp;#34;`; **or**
- `IPExtractor` is explicitly configured — `c.Echo().IPExtractor != nil`&lt;/p&gt;
&lt;p&gt;The condition is `FAL…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-99jh-6h7p-pp36</guid>
    </item>
    <item>
      <title>UBUNTU-CVE-2026-118651</title>
      <link>https://db.gcve.eu/vuln/ubuntu-cve-2026-118651</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:20.04:LTS: golang-github-labstack-echo.v2, Ubuntu:20.04:LTS: golang-github-labstack-echo.v3, Ubuntu:22.04:LTS: golang-github-labstack-echo, Ubuntu:22.04:LTS: golang-github-labstack-echo.v2, Ubuntu:22.04:LTS: golang-github-labstack-echo.v3, Ubuntu:24.04:LTS: golang-github-labstack-echo, Ubuntu:26.10: golang-github-labstack-echo, Ubuntu:26.04:LTS: golang-github-labstack-echo&lt;/p&gt;
&lt;p&gt;Echo is a Go web framework. From 4.0.0 until 5.4.0, the Proxy middleware can preserve an attacker-supplied X-Real-IP header and forward it to an upstream service when Echo.IPExtractor is not configured. A remote client can therefore make upstream services receive a spoofed client address, undermining IP-based access controls, rate limiting, audit logging, or geographic restrictions that trust Echo&amp;#39;s forwarded identity. This issue is fixed in Echo 5.4.0.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Ubuntu:20.04:LTS: golang-github-labstack-echo.v2, Ubuntu:20.04:LTS: golang-github-labstack-echo.v3, Ubuntu:22.04:LTS: golang-github-labstack-echo, Ubuntu:22.04:LTS: golang-github-labstack-echo.v2, Ubuntu:22.04:LTS: golang-github-labstack-echo.v3, Ubuntu:24.04:LTS: golang-github-labstack-echo, Ubuntu:26.10: golang-github-labstack-echo, Ubuntu:26.04:LTS: golang-github-labstack-echo&lt;/p&gt;
&lt;p&gt;Echo is a Go web framework. From 4.0.0 until 5.4.0, the Proxy middleware can preserve an attacker-supplied X-Real-IP header and forward it to an upstream service when Echo.IPExtractor is not configured. A remote client can therefore make upstream services receive a spoofed client address, undermining IP-based access controls, rate limiting, audit logging, or geographic restrictions that trust Echo&amp;#39;s forwarded identity. This issue is fixed in Echo 5.4.0.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ubuntu-cve-2026-118651</guid>
    </item>
  </channel>
</rss>
