<?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-10-04T17:00:15.630892+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/fkie_cve-2026-58431</id>
    <title>fkie_cve-2026-58431</title>
    <updated>2026-10-04T17:00:15.662092+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">
        <p>Public-only API token restriction is not enforced on team API routes</p>
      </div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/fkie_cve-2026-58431"/>
  </entry>
  <entry>
    <id>https://vulnerability.circl.lu/vuln/ghsa-h56g-4qw7-2mxg</id>
    <title>GHSA-h56g-4qw7-2mxg — Gitea: Public-only API token restriction is not enforced on team API routes</title>
    <updated>2026-10-04T17:00:15.662218+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Go: gitea.dev</p>
<p>### Summary</p>
<p>Gitea's `/api/v1/teams/{id}` API routes do not correctly enforce the `public-only` access token restriction.</p>
<p>A `public-only` token is intended to limit API access to public repositories and public organizations. However, several team API routes continue to return private team repository metadata and private team activity feed entries when called with a `public-only` token.</p>
<p>### Details</p>
<p>The `/api/v1/teams/{teamid}` route group uses:</p>
<p>```go
orgAssignment(false, true)
```</p>
<p>This loads `ctx.Org.Team`, but does not load `ctx.Org.Organization`.</p>
<p>The `checkTokenPublicOnly` middleware checks organization visibility through `ctx.Org.Organization`. When `ctx.Org.Organization` is nil, the organization visibility check silently passes.</p>
<p>In addition, the team repository handlers return repositories without applying repository-level `public-only` filtering:</p>
<p>```go
repo_model.GetTeamRepositories(...)
convert.ToRepo(...)
```</p>
<p>They do not call:</p>
<p>```go
ctx.TokenCanAccessRepo(repo)
```</p>
<p>The team activity feed handler also sets:</p>
<p>```go
IncludePrivate: true
```</p>
<p>but does not apply:</p>
<p>```go
opts.ApplyPublicOnly(ctx.PublicOnly)
```</p>
<p>### PoC</p>
<p>Vulnerability is verified on latest gitea release (1.26.2) and nightly build.
Frist, create a `public-only` organization-scoped token for a user who is a member of a team in a private org with private repositories:</p>
<p>&lt;img width="1075" height="577" alt="image" src="https://github.com/user-attachments/assets/4a01d0ab-f67c-47c9-94b1-e74ddd77d7bc" /&gt;…</p></div>
    </content>
    <link href="https://vulnerability.circl.lu/vuln/ghsa-h56g-4qw7-2mxg"/>
  </entry>
</feed>
