<?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-06T13:06:39.095901+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-335235</id>
    <title>EUVD-2026-335235</title>
    <updated>2026-10-06T13:06:39.097932+00:00</updated>
    <content>EUVD-2026-335235</content>
    <link href="https://cve.radiocsirt.org/vuln/euvd-2026-335235"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/fkie_cve-2026-45045</id>
    <title>fkie_cve-2026-45045</title>
    <updated>2026-10-06T13:06:39.097963+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Fiber is an Express inspired web framework written in Go. Prior to 3.3.0 and 2.52.14, the BalancerForward proxy helper in middleware/proxy/proxy.go uses Header.Add() instead of Header.Set() when injecting X-Real-IP, allowing an attacker-supplied first X-Real-IP value to be forwarded to upstream servers for logging, rate limiting, and access control. This issue is fixed in version 3.3.0 and 2.52.14.</p>
      </div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/fkie_cve-2026-45045"/>
  </entry>
  <entry>
    <id>https://cve.radiocsirt.org/vuln/ghsa-gcfq-8gqf-4876</id>
    <title>GHSA-gcfq-8gqf-4876 — GoFiber Vulnerable to X-Real-IP Spoofing via Header.Add() in BalancerForward</title>
    <updated>2026-10-06T13:06:39.097994+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/gofiber/fiber/v3, Go: github.com/gofiber/fiber/v2</p>
<p>## Summary</p>
<p>The `BalancerForward` proxy helper in GoFiber uses `Header.Add()` instead of `Header.Set()` when injecting the `X-Real-IP` header. This appends the real client IP as a second header value rather than replacing any attacker-supplied value. Upstream servers that read the first `X-Real-IP` header (nginx, Express, most HTTP servers) use the attacker's spoofed IP for logging, rate limiting, and access control.</p>
<p>## Vulnerable Code</p>
<p>**File:** `middleware/proxy/proxy.go`, lines 270-285</p>
<p>```go
func BalancerForward(servers []string, clients ...*fasthttp.Client) fiber.Handler {
    r := &amp;roundrobin{
        current: 0,
        pool:    servers,
    }
    return func(c fiber.Ctx) error {
        server := r.get()
        if !strings.HasPrefix(server, "http") {
            server = "http://" + server
        }
        c.Request().Header.Add("X-Real-IP", c.IP())   // line 282: Add, not Set
        return Do(c, server+c.OriginalURL(), clients...)
    }
}
```</p>
<p>## Data Flow</p>
<p>1. Attacker sends request with `X-Real-IP: 10.0.0.1` (spoofed internal IP)
2. `BalancerForward` handler executes at line 282
3. `c.Request().Header.Add("X-Real-IP", c.IP())` APPENDS the real IP as a second header
4. Upstream server receives: `X-Real-IP: 10.0.0.1` AND `X-Real-IP: &lt;real-attacker-ip&gt;`
5. Most HTTP servers (nginx, Node.js, Apache) read the FIRST value
6. Upstream uses `10.0.0.1` for all IP-dependent logic</p>
<p>## Impact</p>
<p>- **Rate limit bypass:** IP-based rate limiting at the upstream uses the spoofed…</p></div>
    </content>
    <link href="https://cve.radiocsirt.org/vuln/ghsa-gcfq-8gqf-4876"/>
  </entry>
</feed>
