Gitea installer authentication bypass for existing accounts
When Gitea's web installer is reachable against a database that already contains users, such as after `INSTALL_LOCK` has been reset to `false`, submitting the install form with an administrator username matching an existing account issued an authenticated session for that account without verifying its password. If the account is an administrator, the session grants full administrative access, including changing the account's password. Databases with a single user also did not require the reinstall confirmation.
- Products
- gitea
- Affected versions
- Not specified
- Fixed versions
- 28.0.0
- CVEs
- CVE-2026-96404
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 12:06 UTC · Revision 1
Source evidence
Gitea installer authentication bypass for existing accounts
core-osv · Original sourcePublished 14 Oct 2026, 08:43 UTC
When Gitea's web installer is reachable against a database that already contains users, such as after `INSTALL_LOCK` has been reset to `false`, submitting the install form with an administrator username matching an existing account issued an authenticated session for that account without verifying its password. If the account is an administrator, the session grants full administrative access, including changing the account's password. Databases with a single user also did not require the reinstall confirmation.
osv:BIT-gitea-2026-96404
gitea
Fixed versions: 28.0.0
Complete source record
{
"id": "ac865ef1b5699cf7279d8552cb27001bef79e3da84f4648de510c6f65f905258",
"url": "https://osv.dev/vulnerability/BIT-gitea-2026-96404",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Gitea installer authentication bypass for existing accounts",
"summary": "When Gitea's web installer is reachable against a database that already contains users, such as after `INSTALL_LOCK` has been reset to `false`, submitting the install form with an administrator username matching an existing account issued an authenticated session for that account without verifying its password. If the account is an administrator, the session grants full administrative access, including changing the account's password. Databases with a single user also did not require the reinstall confirmation.",
"evidence": "osv:BIT-gitea-2026-96404",
"products": [
{
"name": {
"value": "gitea",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "28.0.0",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-gitea-2026-96404",
"aliases": [
"BIT-gitea-2026-96404",
"CVE-2026-96404",
"GHSA-9h7g-h754-c8x2"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "28.0.0"
}
]
}
],
"package": {
"name": "gitea",
"purl": "pkg:bitnami/gitea",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/gitea/BIT-gitea-2026-96404.json"
}
}
],
"modified": "2026-10-14T11:10:47.470116649Z",
"provider": "osv",
"references": [
"https://blog.gitea.com/release-of-28.0.0/",
"https://github.com/go-gitea/gitea/pull/39400",
"https://github.com/go-gitea/gitea/releases/tag/v28.0.0",
"https://github.com/go-gitea/gitea/security/advisories/GHSA-9h7g-h754-c8x2",
"https://nvd.nist.gov/vuln/detail/CVE-2026-96404"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-96404",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 316242,
"published_at": "2026-10-14T08:43:13.691+00:00"
}