Skip to content
OpenAdvisories

Vendor

Gitea

210 known vulnerabilities.

210 results · Feed

  • Medium 4.3

    Gitea Maven checksum upload quota bypass and memory exhaustion

    Gitea's Maven upload handler reads checksum uploads entirely into memory and returns before enforcing package-size quotas. An authenticated user with package-publish permission can submit an oversized body to a checksum endpoint despite legitimate checksum va…

  • Medium 5.3

    Gitea hidden-owner repository listing disclosure

    Gitea uses inconsistent repository visibility predicates, and the condition used by some repository-listing endpoints admits repositories whose owners are hidden from the viewer. Those listings disclose repository metadata even though direct routes correctly …

  • Medium 4.3

    Gitea repository initialization resource exhaustion

    Gitea does not limit the length of the gitignores field accepted by repository-creation forms and the API. Repository initialization splits the field into template names, repeatedly reads the referenced templates, and buffers their contents in memory. An atta…

  • Medium 4.3

    Gitea private workflow badge token scope bypass

    Gitea's Actions workflow status badge endpoint does not enforce repository-read scope or the public-only restriction on the token authenticating the request. A token lacking read:repository, or restricted to public repositories, can retrieve the latest workfl…

  • Medium 4.3

    Gitea private pull request title disclosure through markup

    Gitea's repository markup endpoint resolves same-repository pull request references without enforcing the viewer's Pull Requests permission. A member with only Wiki access to a private repository can submit a markup preview request and retrieve a private pull…

  • High 8.8

    Gitea fork workflow approval bypass through review events

    Gitea's pull request review notifier does not attach the pull request to the Actions notification, so the fork workflow approval gate does not recognize the run as originating from a fork. Review comment and review approval or rejection events can consequentl…

  • Medium 4.3

    Gitea organization listing token scope bypass

    Gitea's organization-list API does not enforce the read:organization token scope. A token limited to another category, such as read:misc, can retrieve organization metadata visible to its owner. For a site administrator's token, the response can include Limit…

  • Medium 6.5

    Gitea private comparison disclosure with public-only tokens

    Gitea's shared comparison helper omits the token repository-access check used when updating pull requests. A public-only token with read:repository scope can route a comparison or pull request creation through a public base repository and retrieve commit hist…

  • Medium 5.8

    Gitea local code execution through writable Git hooks

    Gitea creates server-side Git hook directories and scripts with mode 0777 and relies on the process umask to restrict access. With a permissive umask such as 0000 or 0002, another local user who can reach the repository storage may modify a hook or add an exe…

  • Medium 5.4

    Gitea private migration creation with public-only tokens

    Gitea's repository migration API accepts a public-only token when the request specifies creation of a private repository. A delegated token intended to operate only on public resources can create a private repository and migration task under the authorizing a…

  • Medium 5.4

    Gitea organization repository creation token scope bypass

    Gitea's organization repository-creation API requires write:organization but omits the write:repository token scope enforced by other repository-creation routes. A personal access token or OAuth application token without repository-write scope can therefore c…

  • Medium 4.3

    Gitea restricted-user SSH and GPG key metadata disclosure

    Gitea's user SSH and GPG key-list API endpoints omit the profile visibility check applied by their web equivalents. A restricted account can retrieve public keys, key titles, fingerprints, and GPG-embedded email addresses belonging to Limited-visibility users…

  • Medium 4.3

    Gitea restricted-user issue search disclosure

    Gitea's API and web issue-search paths do not treat restricted accounts as anonymous viewers when evaluating Limited-visibility repository owners. A restricted user can search and retrieve issue titles and bodies that should be hidden by the owner's visibilit…

  • Medium 4.3

    Gitea restricted-user activity and heatmap disclosure

    Gitea's activity-feed and contribution-heatmap API handlers do not apply the profile visibility check for restricted accounts viewing Limited-visibility users. A restricted user can retrieve activity records and contribution timestamps that the corresponding …

  • High 8.1

    Gitea fork workflow approval bypass through concurrency cancellation

    Gitea enforces first-time fork contributor approval by blocking jobs, but some job transition and dispatch paths do not re-check the run's approval requirement. A separate run sharing a job-level concurrency group can cancel a pending job and cause its blocke…

  • Medium 6.5

    Gitea required Actions check bypass through skipped workflows

    For pull request events, Gitea reads workflow definitions from the pull request head and posts a synthetic skipped status when workflow branch or path filters exclude execution. A fork pull request author can supply a workflow matching a required status conte…

  • Medium 4.3

    Gitea restricted-user organization metadata disclosure

    Gitea's user organization-list API includes Limited-visibility organizations for authenticated restricted accounts without applying the visibility restriction enforced by the single-organization endpoint. A restricted user can list a known user's public organ…

  • Medium 4.3

    Gitea restricted-user package visibility bypass

    Gitea's package registry grants authenticated users read access to packages owned by Limited-visibility users without excluding restricted accounts. A restricted user can enumerate and download those packages despite the visibility policy that should prevent …

  • Medium 5.3

    Gitea private reusable workflow disclosure to fork runs

    Gitea's collaborative-owner authorization path for reading cross-repository reusable workflows does not exclude fork pull request runs. An approved fork workflow targeting a private repository can read workflow files from another private repository that trust…

  • Medium 6.5

    Gitea Swift package manifest memory exhaustion

    Gitea's Swift package parser limits each manifest to 128 KiB but does not limit the number of manifests or their aggregate size before reading them into memory. An authenticated user with package-publish permission can upload a highly compressed archive conta…

  • Medium 6.5

    Gitea Alpine package parsing memory exhaustion

    Gitea parses Alpine package uploads before enforcing package-size quotas and does not bound the decompressed .PKGINFO data or its dependency and provides entry counts. An authenticated user with package-publish permission can upload a small, highly compressed…

  • Medium 6.5

    Gitea GitLab migration denial of service

    Gitea's initial GitLab migration version probe uses an HTTP client without a timeout and does not attach the migration task's cancellation context. An authenticated user who can start migrations can target an attacker-controlled server that keeps the response…

  • Medium 6.5

    Gitea OneDev migration denial of service

    Gitea's OneDev migration downloader reads the entire remote version response into memory without a size limit and uses a client without a timeout. An authenticated user who can start a repository migration can direct it to an attacker-controlled OneDev-compat…

  • Medium 6.5

    Gitea organization team policy bypass through repository API

    Gitea's repository-side team-link API allows a repository administrator who is not an organization owner to attach organization teams to a repository despite RepoAdminChangeTeamAccess being disabled. The endpoint does not enforce the organization's restrictio…

  • Low 3.5

    Gitea Jupyter notebook UI redress through CSS class injection

    Gitea's Jupyter notebook renderer inserts the notebook's language_info.name metadata into a CSS class attribute while disabling sanitization and rendering directly in the main document without an iframe sandbox. A malicious repository notebook can supply mult…

  • Critical 9.8
    CVE-2026-59774 Public exploit Scanner template EPSS 28%

    Gitea Org-mode file disclosure and code execution

    Gitea's Org-mode markup renderer processes INCLUDE directives supplied to the repository markup endpoint without preventing access to server-side files. An unauthenticated attacker can use a suitable public repository to read files accessible to the Gitea ser…

  • Medium 4.3

    Gitea private repository metadata disclosure after access revocation

    Gitea's starred-repository and tracked-time API endpoints do not re-check current repository permissions before returning data associated with the requesting user. A user whose access to a private repository has been revoked can still retrieve repository meta…

  • Medium 5.3

    Gitea OpenID discovery server-side request forgery

    When OpenID sign-in is enabled, Gitea accepts a user-supplied OpenID URL and performs discovery requests without validating the destination against internal network addresses. An unauthenticated remote attacker can cause the server to contact loopback or priv…

  • Medium 4.3

    Gitea profile feed disclosure bypassing user visibility

    Requesting a user or organization profile page (`GET /{username}`) with an `Accept: application/rss+xml` or `Accept: application/atom+xml` header returned the owner's activity feed without the visibility check that the profile page and the `.rss` and `.atom` …

  • Medium 6.1

    Gitea repository media API stored XSS

    The Gitea API endpoint `GET /api/v1/repos/{owner}/{repo}/media/{filepath}` wrote files of up to 1 KiB that are stored directly in Git, not in LFS, to the response without the content type and disposition headers Gitea uses for user content. An HTML file commi…

  • Medium 5.4

    Gitea push-to-create bypass of FORCE_PRIVATE policy

    With `[repository] FORCE_PRIVATE = true`, Gitea creates new repositories as private, but the post-receive hook still applied the `repo.private=false` push option to an empty repository created by push. Any user who can create repositories could make their new…

  • Medium 4.3

    Gitea issue attachment API allows changing comment attachments

    The Gitea API routes for issue attachments (`/api/v1/repos/{owner}/{repo}/issues/{index}/assets/{attachment_id}`) also accepted attachments that belong to comments on the issue. Because the author of an issue may edit and delete the issue's attachments, a use…

  • High 8.1

    Gitea tag delete route deletes releases without release permission

    The Gitea web route for deleting tags (`POST /{owner}/{repo}/tags/delete`) requires only write access to the Code unit, but shares its handler with release deletion and did not check that the target was a plain tag. A collaborator with Code write access and w…

  • Medium 6.5

    Gitea migration memory exhaustion from zero page size

    When migrating a repository from another Gitea instance, Gitea used the page size reported in the source server's API settings to end its paginated downloads. A source that reported `max_response_items` as `0` made these loops run indefinitely and grow server…

  • Critical 9.1

    Gitea OAuth2 refresh token grant accepts access tokens

    Gitea's OAuth2 token endpoint verified the signature and grant of a token submitted with the `refresh_token` grant type, but not that the token was a refresh token. An unexpired access token for the same OAuth2 application and grant could be exchanged for a n…

  • Medium 4.9

    Gitea push mirror API bypass of DISABLE_NEW_PUSH policy

    The Gitea API endpoint for creating push mirrors (`POST /api/v1/repos/{owner}/{repo}/push_mirrors`) checked only whether mirroring was enabled and not the `[mirror] DISABLE_NEW_PUSH` setting that the web interface enforces. A repository administrator could th…

  • High 7.1

    Gitea push mirror local path check uses the repository owner

    The Gitea push mirror API checked whether the repository owner, instead of the requesting user, may use local file system paths. On instances with `[security] IMPORT_LOCAL_PATHS = true`, a repository administrator who is not allowed to import local paths coul…

  • Critical 9.8

    Gitea WebAuthn bypass during OAuth and OIDC sign-in

    Gitea's OAuth2 and OpenID Connect sign-in paths do not require a WebAuthn challenge when WebAuthn is the account's only configured second factor. A party able to authenticate through the affected external identity flow can obtain a full session without the pa…

  • Medium 4.3

    Gitea private repository access retained after rejected transfer

    When a private repository is transferred to a user who lacks access, Gitea grants that recipient temporary read access as a collaborator so they can review the repository. Rejecting or cancelling the transfer did not revoke this collaboration, so the named re…

  • High 7.5

    Gitea Actions memory exhaustion through large static matrices

    Gitea expanded a workflow's static `strategy.matrix` into its full Cartesian product without a size limit when creating a run, before the fork pull request approval gate applied. A user who can open a pull request from a fork could submit a small workflow fil…