VulnSea

Gitea has 147 CVEs on record between 2024 and 2026. Disclosure cadence is accelerating: 80 in the last 90 days against 52 in the 90 before. The busiest recent month was October 2026 with 78. The median CVSS is 6.5 (medium), with 14 rated critical. 1% have been exploited in the wild, in line with the corpus average. The dominant weakness classes are CWE-863 (37) and CWE-284 (20). Most affected products: code.gitea.io/gitea (69), gitea (52), gitea.dev (23).

CVEs per month

Last 12 months, by publish date

111201020304050607080910
Exploited share
1% vs 1% corpus
Median CVSS
6.5
Publish → KEV
—
Last 90 days
80 prev 52

Products

  • code.gitea.io/gitea 69
  • gitea 52
  • gitea.dev 23
  • Gitea Open Source Git Server 1
  • gitea.com/gitea/runner 1
  • gitea/gitea 1
147
Total CVEs
14
Critical
1
CISA KEV
1
Exploited

Gitea vulnerabilities

CVEs affecting Gitea, newest first. Open any entry for full detail, references, and exploit status.

147 CVEsRSS

CVE-2026-68964Medium· 4.3
1w ago

Gitea's user SSH and GPG key-list API endpoints omit the profile visibility check applied by their web equivalents

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 Li…

▾ SunlitGitea · GiteaEPSS 0.40%via NVD
CVE-2026-68957Medium· 4.3
1w ago

Gitea's API and web issue-search paths do not treat restricted accounts as anonymous viewers when evaluating Limited-visibility repository owners

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…

▾ SunlitGitea · GiteaEPSS 0.40%via NVD
CVE-2026-67577Medium· 4.3
1w ago

Gitea's activity-feed and contribution-heatmap API handlers do not apply the profile visibility check for restricted accounts viewing Limited-visibility users

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 t…

▾ SunlitGitea · GiteaEPSS 0.37%via NVD
CVE-2026-66877High· 8.1
1w ago

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

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 jo…

▾ TwilightGitea · code.gitea.io/giteaEPSS 0.43%via NVD
CVE-2026-66874Medium· 6.5
1w ago

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

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…

▾ SunlitGitea · gitea.devEPSS 0.26%via NVD
CVE-2026-66853Medium· 4.3
1w ago

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

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 kno…

▾ SunlitGitea · code.gitea.io/giteaEPSS 0.37%via NVD
CVE-2026-66849Medium· 4.3
1w ago

Gitea's package registry grants authenticated users read access to packages owned by Limited-visibility users without excluding restricted accounts

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 polic…

▾ SunlitGitea · code.gitea.io/giteaEPSS 0.37%via NVD
CVE-2026-63792Medium· 5.3
1w ago

Gitea's collaborative-owner authorization path for reading cross-repository reusable workflows does not exclude fork pull request 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…

▾ SunlitGitea · gitea.devEPSS 0.43%via NVD
CVE-2026-63021Medium· 6.5
1w ago

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

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 co…

▾ SunlitGitea · giteaEPSS 0.55%via NVD
CVE-2026-62925Medium· 6.5
1w ago

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

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 sm…

▾ SunlitGitea · giteaEPSS 0.55%via NVD
CVE-2026-60021Medium· 6.5
1w ago

Gitea's initial GitLab migration version probe uses an HTTP client without a timeout and does not attach the migration task's cancellation context

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 t…

▾ SunlitGitea · code.gitea.io/giteaEPSS 0.55%via NVD
CVE-2026-60018Medium· 6.5
1w ago

Gitea's OneDev migration downloader reads the entire remote version response into memory without a size limit and uses a client without a timeout

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-co…

▾ SunlitGitea · code.gitea.io/giteaEPSS 0.55%via NVD
CVE-2026-60010Medium· 6.5
1w ago

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

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 org…

▾ SunlitGitea · code.gitea.io/giteaEPSS 0.47%via NVD
CVE-2026-60008Low· 3.5
1w ago

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

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 no…

▾ SunlitGitea · gitea.devEPSS 0.37%via NVD
CVE-2026-59774Critical· 9.8PoC
1w ago

Gitea's Org-mode markup renderer processes INCLUDE directives supplied to the repository markup endpoint without preventing access to server-side files

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 acces…

▾ AbyssalGitea · gitea.devEPSS 28%via NVD
CVE-2026-25946Medium· 5.3PoC
1w ago

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

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 co…

▾ TwilightGitea · code.gitea.io/giteaEPSS 0.41%via NVD
CVE-2026-73802Critical· 9.9
1w ago

Gitea Runner passes workflow-controlled container options into Docker job container configuration while privileged mode is disabled

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 desp…

▾ Midnightgitea · gitea.com/gitea/runnerEPSS 0.47%via NVD
CVE-2026-59766Medium· 4.3
1w ago

Gitea's starred-repository and tracked-time API endpoints do not re-check current repository permissions before returning data associated with the requesting user

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 re…

▾ Sunlitgitea · code.gitea.io/giteaEPSS 0.28%via NVD
CVE-2026-97626Medium· 4.3
3w ago

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 t…

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 t…

▾ SunlitGitea · gitea.devEPSS 0.20%via NVD
CVE-2026-97208Medium· 4.9
3w ago

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

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 …

▾ Sunlitgitea · giteaEPSS 0.26%via NVD
CVE-2026-96594Medium· 6.1
3w ago

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 conte…

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 conte…

▾ Sunlitgitea · giteaEPSS 0.22%via NVD
CVE-2026-89182Medium· 5.4PoC
3w ago

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

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 repositorie…

▾ Twilightgitea · giteaEPSS 0.20%via NVD
CVE-2026-86684High· 7.1
3w ago

The Gitea push mirror API checked whether the repository owner, instead of the requesting user, may use local file system paths

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 i…

▾ Twilightgitea · giteaEPSS 0.15%via NVD
CVE-2026-105268Medium· 4.3
3w ago

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

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 issu…

▾ Sunlitgitea · giteaEPSS 0.20%via NVD
CVE-2026-105267High· 8.1
3w ago

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

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 C…

▾ Twilightgitea · giteaEPSS 0.38%via NVD
CVE-2026-104633Medium· 6.5
3w ago

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

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 indefi…

▾ Sunlitgitea · giteaEPSS 0.40%via NVD
CVE-2026-101023Critical· 9.1⚖ disputed
3w ago

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

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 coul…

▾ Midnightgitea · giteaEPSS 0.35%via NVD
CVE-2026-101029Medium· 4.3
3w ago

Gitea's repository migration and pull mirror egress checks could be bypassed with a hostname that returns multiple DNS answers, because the address that was validated was not necessarily the address Git later connected to

Gitea's repository migration and pull mirror egress checks could be bypassed with a hostname that returns multiple DNS answers, because the address that was validated was not necessarily the address Git later connected to. A low-privileg…

▾ Sunlitgitea · giteaEPSS 0.18%via NVD
CVE-2026-104632High· 8.8
3w ago

Gitea Actions blocks the jobs of workflow runs from first-time fork pull request contributors until a maintainer approves the run

Gitea Actions blocks the jobs of workflow runs from first-time fork pull request contributors until a maintainer approves the run. The rerun path only required a run to be finished and built the new attempt's jobs without considering the…

▾ Twilightgitea · giteaEPSS 0.39%via NVD
CVE-2026-104626High· 8.8
3w ago

A user who can open a fork pull request can place workflow content with a shared run-level concurrency group into a Gitea Actions run that is awaiting approval

A user who can open a fork pull request can place workflow content with a shared run-level concurrency group into a Gitea Actions run that is awaiting approval. When a later run in that group cancels the blocked job, the run becomes term…

▾ Twilightgitea · giteaEPSS 0.33%via NVD
Gitea vulnerabilities (CVEs) — page 2 · VulnSea