<?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://vulnerability.circl.lu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-09-29T17:15:27.156982+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@circl.lu</email>
  </author>
  <link href="https://vulnerability.circl.lu" 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://vulnerability.circl.lu/vuln/cve-2026-24122</id>
    <title>CVE-2026-24122 — Cosign Certificate Chain Expiry Validation Issue Allows Issuing Certificate Expiry to Be Overlooked</title>
    <updated>2026-09-29T17:15:28.061846+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> sigstore cosign</p>
<p>Cosign provides code signing and transparency for containers and binaries. In versions 3.0.4 and below, an issuing certificate with a validity that expires before the leaf certificate will be considered valid during verification even if the provided timestamp would mean the issuing certificate should be considered expired. When verifying artifact signatures using a certificate, Cosign first verifies the certificate chain using the leaf certificate's "not before" timestamp and later checks expiry of the leaf certificate using either a signed timestamp provided by the Rekor transparency log or from a timestamp authority, or using the current time. The root and all issuing certificates are assumed to be valid during the leaf certificate's validity. There is no impact to users of the public Sigstore infrastructure. This may affect private deployments with customized PKIs. This issue has been fixed in version 3.0.5.</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/cve-2026-24122"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-3fxj-6jh8-hvhx</id>
    <title>GHSA-3fxj-6jh8-hvhx — chi Has an IP Spoofing Vulnerability in `middleware.RealIP`</title>
    <updated>2026-09-29T17:15:28.061985+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: github.com/go-chi/chi/v5/middleware</p>
<p>## 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.</p>
<p>## Details
In `middleware/realip.go`, the `realIP` function parses the `X-Forwarded-For` header and extracts the first comma-separated value:</p>
<p>```go
func realIP(r *http.Request) string {
    // ...
    } else if xff := r.Header.Get(xForwardedFor); xff != "" {
        ip, _, _ = strings.Cut(xff, ",")
    }
    // ...
}
```</p>
<p>Standard practice for `X-Forwarded-For` is that each proxy appends the client'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: &lt;spoofed_ip&gt;, &lt;actual_proxy_ip&gt;`, and `go-chi/chi` will treat `&lt;spoofed_ip&gt;` as the source of the request.</p>
<p>## Proof of Concept (PoC)
The following code demonstrates how an attacker can bypass an IP-based restriction.</p>
<p>```go
package main</p>
<p>import (
        "fmt"
        "net/http"
        "net/http/httptest"</p>
<p>"github.com/go-chi/chi/v5"
        "github.com/go-chi/chi/v5/middleware"
)</p>
<p>func main() {
        r := chi.NewRouter()</p>
<p>// Enable the vulnerable RealIP middleware
        r.Use(middleware.RealIP)</p>
<p>// An endpoint that should be restricted to a specific administrat…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-3fxj-6jh8-hvhx"/>
  </entry>
</feed>
