<?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>Tue, 06 Oct 2026 21:49:35 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-61726 — Memory exhaustion in query parameter parsing in net/url</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2025-61726</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go standard library net/url, Red Hat Cryostat 4 on RHEL 9, Red Hat HawtIO HawtIO 4.3.1, Red Hat HawtIO HawtIO 4.4.0, Red Hat Ansible Automation Platform 2.4 for RHEL 8, Red Hat Ansible Automation Platform 2.4 for RHEL 9, Red Hat Ansible Automation Platform 2.5 for RHEL 8, Red Hat Ansible Automation Platform 2.5 for RHEL 9, Red Hat Ansible Automation Platform 2.6 for RHEL 10, Red Hat Ansible Automation Platform 2.6 for RHEL 9 and 152 more&lt;/p&gt;
&lt;p&gt;The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query parameters in URLs is generally limited by the maximum request header size, the net/http.Request.ParseForm method can parse large URL-encoded forms. Parsing a large form containing many unique query parameters can cause excessive memory consumption.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go standard library net/url, Red Hat Cryostat 4 on RHEL 9, Red Hat HawtIO HawtIO 4.3.1, Red Hat HawtIO HawtIO 4.4.0, Red Hat Ansible Automation Platform 2.4 for RHEL 8, Red Hat Ansible Automation Platform 2.4 for RHEL 9, Red Hat Ansible Automation Platform 2.5 for RHEL 8, Red Hat Ansible Automation Platform 2.5 for RHEL 9, Red Hat Ansible Automation Platform 2.6 for RHEL 10, Red Hat Ansible Automation Platform 2.6 for RHEL 9 and 152 more&lt;/p&gt;
&lt;p&gt;The net/url package does not set a limit on the number of query parameters in a query. While the maximum size of query parameters in URLs is generally limited by the maximum request header size, the net/http.Request.ParseForm method can parse large URL-encoded forms. Parsing a large form containing many unique query parameters can cause excessive memory consumption.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2025-61726</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>
