<?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 11:06:37 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-39822 — Root escape via symlink plus trailing slash in os</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2026-39822</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go standard library os&lt;/p&gt;
&lt;p&gt;On Unix systems, opening a file in an os.Root improperly follows symlinks to locations outside of the Root when the final path component of the a path is a symbolic link and the path ends in /. For example, &amp;#39;root.Open(&amp;#34;symlink/&amp;#34;)&amp;#39; will open &amp;#34;symlink&amp;#34; even when &amp;#34;symlink&amp;#34; is a symbolic link pointing outside of the root.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go standard library os&lt;/p&gt;
&lt;p&gt;On Unix systems, opening a file in an os.Root improperly follows symlinks to locations outside of the Root when the final path component of the a path is a symbolic link and the path ends in /. For example, &amp;#39;root.Open(&amp;#34;symlink/&amp;#34;)&amp;#39; will open &amp;#34;symlink&amp;#34; even when &amp;#34;symlink&amp;#34; is a symbolic link pointing outside of the root.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2026-39822</guid>
    </item>
    <item>
      <title>GHSA-3fxj-6jh8-hvhx — chi Has an IP Spoofing Vulnerability in `middleware.RealIP`</title>
      <link>https://cve.radiocsirt.org/vuln/ghsa-3fxj-6jh8-hvhx</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/go-chi/chi/v5/middleware&lt;/p&gt;
&lt;p&gt;## Summary
The `RealIP` middleware in `go-chi/chi` is vulnerable to IP spoofing because it blindly trusts the first (leftmost) element of the `X-Forwarded-For` HTTP header. This allows a remote attacker to bypass IP-based access control lists (ACLs) and rate-limiting mechanisms by providing a spoofed IP address in the header.&lt;/p&gt;
&lt;p&gt;## Details
In `middleware/realip.go`, the `realIP` function parses the `X-Forwarded-For` header and extracts the first comma-separated value:&lt;/p&gt;
&lt;p&gt;```go
func realIP(r *http.Request) string {
    // ...
    } else if xff := r.Header.Get(xForwardedFor); xff != &amp;#34;&amp;#34; {
        ip, _, _ = strings.Cut(xff, &amp;#34;,&amp;#34;)
    }
    // ...
}
```&lt;/p&gt;
&lt;p&gt;Standard practice for `X-Forwarded-For` is that each proxy appends the client&amp;#39;s IP to the end of the list. However, since the client can also provide this header, the leftmost values are untrusted. A client can send a header like `X-Forwarded-For: &amp;lt;spoofed_ip&amp;gt;, &amp;lt;actual_proxy_ip&amp;gt;`, and `go-chi/chi` will treat `&amp;lt;spoofed_ip&amp;gt;` as the source of the request.&lt;/p&gt;
&lt;p&gt;## Proof of Concept (PoC)
The following code demonstrates how an attacker can bypass an IP-based restriction.&lt;/p&gt;
&lt;p&gt;```go
package main&lt;/p&gt;
&lt;p&gt;import (
        &amp;#34;fmt&amp;#34;
        &amp;#34;net/http&amp;#34;
        &amp;#34;net/http/httptest&amp;#34;&lt;/p&gt;
&lt;p&gt;&amp;#34;github.com/go-chi/chi/v5&amp;#34;
        &amp;#34;github.com/go-chi/chi/v5/middleware&amp;#34;
)&lt;/p&gt;
&lt;p&gt;func main() {
        r := chi.NewRouter()&lt;/p&gt;
&lt;p&gt;// Enable the vulnerable RealIP middleware
        r.Use(middleware.RealIP)&lt;/p&gt;
&lt;p&gt;// An endpoint that should be restricted to a specific administrat…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: github.com/go-chi/chi/v5/middleware&lt;/p&gt;
&lt;p&gt;## Summary
The `RealIP` middleware in `go-chi/chi` is vulnerable to IP spoofing because it blindly trusts the first (leftmost) element of the `X-Forwarded-For` HTTP header. This allows a remote attacker to bypass IP-based access control lists (ACLs) and rate-limiting mechanisms by providing a spoofed IP address in the header.&lt;/p&gt;
&lt;p&gt;## Details
In `middleware/realip.go`, the `realIP` function parses the `X-Forwarded-For` header and extracts the first comma-separated value:&lt;/p&gt;
&lt;p&gt;```go
func realIP(r *http.Request) string {
    // ...
    } else if xff := r.Header.Get(xForwardedFor); xff != &amp;#34;&amp;#34; {
        ip, _, _ = strings.Cut(xff, &amp;#34;,&amp;#34;)
    }
    // ...
}
```&lt;/p&gt;
&lt;p&gt;Standard practice for `X-Forwarded-For` is that each proxy appends the client&amp;#39;s IP to the end of the list. However, since the client can also provide this header, the leftmost values are untrusted. A client can send a header like `X-Forwarded-For: &amp;lt;spoofed_ip&amp;gt;, &amp;lt;actual_proxy_ip&amp;gt;`, and `go-chi/chi` will treat `&amp;lt;spoofed_ip&amp;gt;` as the source of the request.&lt;/p&gt;
&lt;p&gt;## Proof of Concept (PoC)
The following code demonstrates how an attacker can bypass an IP-based restriction.&lt;/p&gt;
&lt;p&gt;```go
package main&lt;/p&gt;
&lt;p&gt;import (
        &amp;#34;fmt&amp;#34;
        &amp;#34;net/http&amp;#34;
        &amp;#34;net/http/httptest&amp;#34;&lt;/p&gt;
&lt;p&gt;&amp;#34;github.com/go-chi/chi/v5&amp;#34;
        &amp;#34;github.com/go-chi/chi/v5/middleware&amp;#34;
)&lt;/p&gt;
&lt;p&gt;func main() {
        r := chi.NewRouter()&lt;/p&gt;
&lt;p&gt;// Enable the vulnerable RealIP middleware
        r.Use(middleware.RealIP)&lt;/p&gt;
&lt;p&gt;// An endpoint that should be restricted to a specific administrat…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/ghsa-3fxj-6jh8-hvhx</guid>
    </item>
  </channel>
</rss>
