Skip to content
OpenAdvisories

Vendor

Gitea

210 known vulnerabilities.

Gitea at a glance

Last 12 months
207
Critical · all time
33
Exploited · all time
1
Public exploit · all time
11
New vulnerabilities per month · last 12 months
0 50 100 December 2025: 9 vulnerabilities Dec 2025 January 2026: 10 vulnerabilities, 3 critical February 2026: 0 vulnerabilities March 2026: 0 vulnerabilities Mar April 2026: 0 vulnerabilities May 2026: 0 vulnerabilities June 2026: 1 vulnerability, 1 critical Jun July 2026: 40 vulnerabilities, 11 critical August 2026: 49 vulnerabilities, 8 critical September 2026: 0 vulnerabilities Sep October 2026: 78 vulnerabilities, 6 critical November 2026: 20 vulnerabilities, 3 critical
Show as table
MonthVulnerabilitiesCritical
Nov 2026203
Oct 2026786
Sep 202600
Aug 2026498
Jul 20264011
Jun 202611
May 202600
Apr 202600
Mar 202600
Feb 202600
Jan 2026103
Dec 202590
Nov 202500
Oct 202500
Sep 202500
Aug 202500
Jul 202500
Jun 202500
May 202500
Apr 202500
Mar 202500
Feb 202500
Jan 202500
Dec 202400

210 results · Feed

  • Medium 4.3

    Gitea limited-visibility profile disclosure with public-only tokens

    The web profile and RSS/Atom feed routes of users and organizations checked only whether a signed-in viewer could see a limited-visibility owner, without considering the `public-only` restriction of the personal access token used to authenticate. Any user hol…

  • Medium 4.3

    Gitea user and organization feed token scope bypass

    The `/{username}` web route accepted personal access tokens over HTTP Basic authentication without checking their scope. A token confined to an unrelated scope, such as `read:issue`, could read its owner's private activity through the user RSS/Atom feed and t…

  • High 7.5

    Gitea private pull request disclosure on project boards

    Repository and organization project boards listed the pull requests that reference each issue on the board without checking whether the viewer can read them. When a private pull request mentions an issue on a board the viewer can open, the board revealed the …

  • High 7.5

    Gitea public-only token bypass on bulk organization repository deletion

    `DELETE /api/v1/orgs/{org}/repos` deletes all repositories of an organization, but it did not enforce the public-only restriction of access tokens: the route only checked that the organization itself was public. A public-only token of an owner of a public org…

  • Medium 6.5

    Gitea issue changes on archived repositories through the API

    The web interface blocks issue and pull request changes on archived repositories, but several issue routes of the REST API did not check whether the repository is archived. A user allowed to change issues of an archived repository could use the API to edit, c…

  • High 7.5

    Gitea public-only token bypass in repository and organization creation

    Gitea 1.27.3 stopped personal access tokens restricted to public resources (`public-only`) from creating repositories through `POST /api/v1/user/repos` and `POST /api/v1/repos/migrate`, but `POST /api/v1/org/{org}/repos`, `POST /api/v1/orgs/{org}/repos`, `POS…

  • Medium 4.3

    Gitea OAuth2 userinfo private group disclosure to public-only tokens

    The OAuth2 userinfo endpoint (`/login/oauth/userinfo`) decided whether to limit the `groups` claim to public organizations by re-parsing the `Authorization` header as an OAuth2 access token instead of using the scope of the credential that authenticated the r…

  • Critical 9.1

    Gitea public-only package token access to private OCI blobs

    The OCI registry's cross-repository blob mount checked the target package against the token's `public-only` restriction, but checked the source blob only against the full account permissions of the token owner. A `public-only` token with `write:package` scope…

  • Medium 6.5

    Gitea Helm chart upload decompression denial of service

    When parsing an uploaded Helm chart, Gitea decompressed the archive and read every tar entry while looking for `Chart.yaml` without limiting the decompressed size, and did so before the package size quota was checked; the quota only considers the compressed u…

  • Low 3.5

    Gitea private issue disclosure through issue dependency timeline events

    The issue timeline API and the web issue page hid cross-reference events that point at issues the reader cannot access, but not "dependency added" and "dependency removed" events. When a readable issue had been linked as a dependency to an issue in a reposito…

  • Medium 4.3

    Gitea private repository listing to public-only tokens on profiles

    The repositories, stars and watching tabs of user profiles and the repository list of organization home pages included private repositories for every signed-in request without checking whether the request used a personal access token restricted to public reso…

  • Medium 6.5

    Gitea admin API public-only token scope bypass

    The `/api/v1/admin` route group did not enforce the `public-only` restriction of personal access tokens. A public-only token with admin scope issued by a site administrator could therefore list private organizations and the email addresses of all users, creat…

  • Medium 6.5

    Gitea Actions job token spoofing of instance-signed commits

    The `GITEA_TOKEN` of a Gitea Actions job authenticates as the `gitea-actions` system user, and the `/api/v1/user` email and GPG key endpoints accepted that user, so a job could register an email address and a GPG key on it; without required email confirmation…

  • Medium 6.5
    CVE-2026-116296 Public exploit

    Gitea archived repository release, milestone and label modification

    The API routes for releases, release assets, milestones and repository labels did not reject changes to archived repositories. A user with write access to an archived repository, or a holder of such a user's write-scoped token, could replace or delete release…

  • Critical 9.1

    Gitea public-only token bypass through Actions runner registration

    Gitea did not reject personal access tokens restricted to public resources (`public-only`) on the organization Actions runner registration-token endpoint, and the runner registered with the resulting token was not limited to public repositories. Holding only …

  • Medium 5.3

    Gitea contribution heatmap private activity disclosure to public-only tokens

    `GET /api/v1/users/{username}/heatmap` computed the contribution heatmap with the repository access of the token owner and ignored the public-only restriction of the access token, unlike the activity feed endpoints. A holder of a user's public-only token coul…

  • Medium 5.4

    Gitea stored XSS through legacy Actions artifact Content-Encoding

    Legacy (v1 to v3) Actions artifact uploads stored the request's `Content-Encoding` header unchecked in the column that is served as the artifact's `Content-Type` on download, and a value starting with `video/` or `audio/` also removed the sandboxing Content-S…

  • Medium 4.3

    Gitea Actions task token private repository enumeration

    Gitea Actions task tokens authenticate to the REST API as a shared system user with a negative ID, which repository, organization, project and key filters treated as having no owner restriction, and the token carried no API scope to restrict user-scoped route…

  • Critical 9.8

    Gitea OAuth2 account auto-linking takeover through the sign-up form

    When `[oauth2_client].ACCOUNT_LINKING` is set to `auto` (not the default) and registration is enabled, the link-account sign-up form looked up the existing account to link by the user name or email submitted in the form instead of the identity asserted by the…

  • Medium 6.5

    Gitea Actions fork workflow trust through pull request review commit

    Workflows triggered by a pull request review were read from the commit named in the review's `commit_id`, while the fork restrictions were decided by the reviewed pull request, and the commit was not checked to belong to that pull request. A user with read ac…

  • Medium 6.5
    CVE-2026-97859 Public exploit

    Gitea API disclosure of private user social graph, keys and stars

    Seven Gitea API routes under `/api/v1/users/{username}` (followers, following, following/{target}, starred, subscriptions, keys and gpg_keys) were registered without the `individualPermsChecker` middleware that enforces the visibility of the target user. An a…

  • Low 3.1

    Gitea label deletion across repository and organization IDs

    Deleting a label compared the ID of the repository in the request against the organization ID of organization labels, and the two ID sequences overlap. A user with write access to the issues of a repository could therefore delete the labels of an organization…

  • Medium 6.3

    Gitea release attachment re-linking of issue attachments

    Adding attachments to a release checked the repository and release of an attachment but not whether it was already linked to an issue or comment. A user with write access to the releases of a repository, who knew the UUID of an attachment in that repository, …

  • Medium 6.5

    Gitea private profile information disclosure through POST request

    The visibility check of Gitea user profiles was applied to GET requests only, while `POST /{username}` (follow and unfollow) required only a signed-in user. Any authenticated user could therefore obtain the full name, location, website and description of a us…

  • Medium 4.3
    CVE-2026-110311 Public exploit

    Gitea draft release creation disclosing attachment metadata

    Creating a draft release through the API returned an `assets` list that was built from a release without an ID, which matched every attachment that was not linked to a release. A user who could create a draft release in a repository therefore received the met…

  • Medium 4.3

    Gitea watched repositories API disclosure after access revocation

    `GET /api/v1/user/subscriptions` returned the metadata of every repository a user was watching without checking that the user still had access to it. A user who watched a private repository while having access, and later lost it, for example through a team pe…

  • Medium 4.3

    Gitea reactions accepted on locked issues and comments

    The Gitea web handlers for adding and removing reactions on issues and comments did not refuse locked issues for users without write access, although the API did. A signed-in user who could read an issue could therefore add or remove reactions on a locked iss…

  • High 8.1

    Gitea cross-site request forgery on repository topics

    `POST /{owner}/{repo}/topics` was registered without the sign-in middleware that provides the cross-origin protection, so a request issued by a third-party site was not rejected. A repository administrator who visited a malicious page could have the topics of…

  • Medium 6.5

    Gitea Actions artifact v4 API unbounded request body

    The Gitea Actions artifact v4 (Twirp) handlers read the whole request body into memory without a size limit. A user who can run a workflow and obtains the runner token of that run could send an oversized request to the artifact service and exhaust the memory …

  • Medium 5.3

    Gitea panic on the repositories route of individual users

    Requesting `/{username}/-/repositories` for an individual user instead of an organization made the organization home handler dereference a nil organization and panic. The request needs no authentication and no special configuration. The server answered with a…

  • High 7.5

    Gitea SSH certificate principal impersonation of other users

    Gitea resolved the principals of an SSH certificate by searching the content of all stored public keys instead of only principal keys. When Gitea trusts a user certificate authority (`SSH_TRUSTED_USER_CA_KEYS`) and accepts arbitrary principals (`SSH_AUTHORIZE…

  • Medium 5.4

    Gitea OpenID account linking without session binding

    The Gitea OpenID association callback in the security settings accepted a positive OpenID 2.0 assertion without checking that the signed-in user had started the linking. Because OpenID 2.0 allows unsolicited assertions, an attacker-controlled OpenID provider …

  • Medium 5.9

    Gitea private attachment disclosure through repository mismatch

    Gitea's web attachment handler skips its cross-repository ownership check for attachments created before 16 January 2026 and checks permissions against the repository named in the request URL instead. An unauthenticated attacker who knows a private attachment…

  • Medium 5.3

    Gitea blind SSRF through OpenID assertion verification

    When OpenID sign-in is enabled, Gitea processes unauthenticated assertion parameters and sends an HTTP POST request to the caller-supplied OpenID provider endpoint during verification. An attacker controls the destination and much of the form body, allowing i…

  • Medium 6.5

    Gitea repository ownership escalation by administrators

    Gitea's collaboration access-mode endpoint accepts the Owner access mode from an authenticated repository collaborator with Admin access. The collaborator can promote their effective permissions from Admin to Owner and then perform owner-only operations, incl…

  • High 8.1

    Gitea API token scope escalation through HTTP signatures

    Gitea allows a token with write:user scope to register an attacker-controlled SSH public key on the token owner's account. API requests signed with the corresponding private key authenticate as that account through HTTP Signature without API token scope infor…

  • High 8.8
    CVE-2026-73802 Public exploit

    Gitea Runner host isolation bypass through container options

    Gitea Runner passes workflow-controlled container options into Docker job container configuration while privileged mode is disabled. Host namespace settings, expanded capabilities, and security profile overrides can remain effective despite Privileged being f…

  • High 8.8

    Gitea reusable workflow secret exposure in pull_request_target

    Gitea resolves local reusable workflow files from a fork's head commit when a trusted base-branch workflow runs for a pull_request_target event. A fork author can modify a referenced reusable workflow so attacker-controlled code executes with the repository a…

  • High 7.5

    Gitea external renderer argument injection and code execution

    Gitea substitutes a URL derived from the markup Context field into external renderer command templates without escaping the reference path before shell-style argument splitting. A crafted Context can inject additional renderer arguments, including options tha…

  • High 8.8

    Gitea second-factor bypass through OpenID identity linking

    Gitea's OpenID connect handler accepts a user's password without enforcing enrolled TOTP or WebAuthn verification before completing sign-in and linking an OpenID identifier. When OpenID sign-in is enabled, an attacker who knows the victim's password can obtai…