<?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://vulnerability.circl.lu</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>Thu, 01 Oct 2026 14:11:42 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-58507</title>
      <link>https://vulnerability.circl.lu/vuln/fkie_cve-2026-58507</link>
      <description>&lt;p&gt;Private Repository Existence Disclosure via go-get Meta Endpoint&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;Private Repository Existence Disclosure via go-get Meta Endpoint&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/fkie_cve-2026-58507</guid>
    </item>
    <item>
      <title>GHSA-p4mj-98mv-xq26 — Gitea: Private Repository Existence Disclosure via go-get Meta Endpoint</title>
      <link>https://vulnerability.circl.lu/vuln/ghsa-p4mj-98mv-xq26</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: code.gitea.io/gitea&lt;/p&gt;
&lt;p&gt;| Field | Value |
|-------|-------|
| **Affected File** | `routers/web/repo/githttp.go`, `services/context/repo.go` |
| **Affected Functions** | `httpBase()`, `EarlyResponseForGoGetMeta()` |
| **Affected Lines** | `githttp.go:63–66`, `services/context/repo.go:374–396` |
| **Prerequisite** | None — fully unauthenticated |&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;#### Description&lt;/p&gt;
&lt;p&gt;Gitea implements a special behavior for requests containing the `?go-get=1` query parameter. This parameter is sent by the Go toolchain (`go get`, `go install`) to discover VCS metadata for module imports. When Gitea detects this parameter in the HTTP request path for a repository, it bypasses the normal authentication and authorization stack and returns an HTTP 200 response containing `&amp;lt;meta name=&amp;#34;go-import&amp;#34;&amp;gt;` and `&amp;lt;meta name=&amp;#34;go-source&amp;#34;&amp;gt;` tags — regardless of whether:&lt;/p&gt;
&lt;p&gt;- The repository is private
- The requesting user is authenticated
- The requesting user has any permission on the repository&lt;/p&gt;
&lt;p&gt;The entry point is `routers/web/repo/githttp.go:63–66`:&lt;/p&gt;
&lt;p&gt;```go
func httpBase(ctx *context.Context, optGitService ...string) *serviceHandler {
    reponame := strings.TrimSuffix(ctx.PathParam(&amp;#34;reponame&amp;#34;), &amp;#34;.git&amp;#34;)&lt;/p&gt;
&lt;p&gt;if ctx.FormString(&amp;#34;go-get&amp;#34;) == &amp;#34;1&amp;#34; {
        context.EarlyResponseForGoGetMeta(ctx)
        return nil   // ← returns before any auth or permission check
    }
    ...
```&lt;/p&gt;
&lt;p&gt;The `EarlyResponseForGoGetMeta` function (`services/context/repo.go:379–396`) is called unconditionally, and the function&amp;#39;s own docstring documents the intende…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Go: code.gitea.io/gitea&lt;/p&gt;
&lt;p&gt;| Field | Value |
|-------|-------|
| **Affected File** | `routers/web/repo/githttp.go`, `services/context/repo.go` |
| **Affected Functions** | `httpBase()`, `EarlyResponseForGoGetMeta()` |
| **Affected Lines** | `githttp.go:63–66`, `services/context/repo.go:374–396` |
| **Prerequisite** | None — fully unauthenticated |&lt;/p&gt;
&lt;p&gt;---&lt;/p&gt;
&lt;p&gt;#### Description&lt;/p&gt;
&lt;p&gt;Gitea implements a special behavior for requests containing the `?go-get=1` query parameter. This parameter is sent by the Go toolchain (`go get`, `go install`) to discover VCS metadata for module imports. When Gitea detects this parameter in the HTTP request path for a repository, it bypasses the normal authentication and authorization stack and returns an HTTP 200 response containing `&amp;lt;meta name=&amp;#34;go-import&amp;#34;&amp;gt;` and `&amp;lt;meta name=&amp;#34;go-source&amp;#34;&amp;gt;` tags — regardless of whether:&lt;/p&gt;
&lt;p&gt;- The repository is private
- The requesting user is authenticated
- The requesting user has any permission on the repository&lt;/p&gt;
&lt;p&gt;The entry point is `routers/web/repo/githttp.go:63–66`:&lt;/p&gt;
&lt;p&gt;```go
func httpBase(ctx *context.Context, optGitService ...string) *serviceHandler {
    reponame := strings.TrimSuffix(ctx.PathParam(&amp;#34;reponame&amp;#34;), &amp;#34;.git&amp;#34;)&lt;/p&gt;
&lt;p&gt;if ctx.FormString(&amp;#34;go-get&amp;#34;) == &amp;#34;1&amp;#34; {
        context.EarlyResponseForGoGetMeta(ctx)
        return nil   // ← returns before any auth or permission check
    }
    ...
```&lt;/p&gt;
&lt;p&gt;The `EarlyResponseForGoGetMeta` function (`services/context/repo.go:379–396`) is called unconditionally, and the function&amp;#39;s own docstring documents the intende…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/ghsa-p4mj-98mv-xq26</guid>
    </item>
  </channel>
</rss>
