Gitea migration and pull mirror SSRF through multi-answer DNS
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-privileged user who can create migrations or mirrors could direct the server to internal services, reading from and writing to reachable internal Git or HTTP endpoints. Content from internal responses could additionally be disclosed through migration and mirror error messages.
- Products
- gitea
- Affected versions
- Not specified
- Fixed versions
- 28.0.0
- CVEs
- CVE-2026-101029
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 30 Oct 2026, 20:01 UTC · Revision 1
Source evidence
Gitea migration and pull mirror SSRF through multi-answer DNS
core-osv · Original sourcePublished 16 Oct 2026, 08:36 UTC
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-privileged user who can create migrations or mirrors could direct the server to internal services, reading from and writing to reachable internal Git or HTTP endpoints. Content from internal responses could additionally be disclosed through migration and mirror error messages.
osv:BIT-gitea-2026-101029
gitea
Fixed versions: 28.0.0
Complete source record
{
"id": "c18c300b45110ec031326248e914159c6f49d6300554bd98b22a7d7cf5212218",
"url": "https://osv.dev/vulnerability/BIT-gitea-2026-101029",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Gitea migration and pull mirror SSRF through multi-answer DNS",
"summary": "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-privileged user who can create migrations or mirrors could direct the server to internal services, reading from and writing to reachable internal Git or HTTP endpoints. Content from internal responses could additionally be disclosed through migration and mirror error messages.",
"evidence": "osv:BIT-gitea-2026-101029",
"products": [
{
"name": {
"value": "gitea",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "28.0.0",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "medium",
"structured": {
"id": "BIT-gitea-2026-101029",
"aliases": [
"BIT-gitea-2026-101029",
"CVE-2026-101029",
"GHSA-6g2h-xpg3-rm48"
],
"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:L/PR:L/UI:N/S:U/C:L/I:N/A:N"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/gitea/BIT-gitea-2026-101029.json"
}
}
],
"modified": "2026-10-16T09:55:41.150603178Z",
"provider": "osv",
"references": [
"https://blog.gitea.com/release-of-28.0.0/",
"https://github.com/go-gitea/gitea/pull/39010",
"https://github.com/go-gitea/gitea/pull/39426",
"https://github.com/go-gitea/gitea/releases/tag/v28.0.0",
"https://github.com/go-gitea/gitea/security/advisories/GHSA-6g2h-xpg3-rm48",
"https://nvd.nist.gov/vuln/detail/CVE-2026-101029"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:gitea:gitea:*:*:*:*:*:*:*:*"
],
"severity": "Medium"
}
},
"related_cves": [
{
"value": "CVE-2026-101029",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 338691,
"published_at": "2026-10-16T08:36:28.178+00:00"
}