{"id":"CVE-2026-96400","state":"PUBLISHED","title":"Gitea migration SSRF to reserved addresses through ALLOWED_DOMAINS","description":"With `[migrations] ALLOWED_DOMAINS` set to a matching entry such as `*` or a hostname wildcard, Gitea's migration URL validation could permit reserved and link-local addresses, such as `169.254.169.254`, even when `ALLOW_LOCALNETWORKS = false`. The local-network block list did not cover these ranges, and a hostname matching the allow list was accepted regardless of its resolved address. A user who can start migrations on such an instance could reach these addresses from the Gitea server; the default empty `ALLOWED_DOMAINS` configuration is not affected.","publishedAt":"2026-10-06T19:25:23.261Z","updatedAt":"2026-10-07T11:35:27.280Z","severity":{"score":4.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","source":"CISA-ADP"},"assigner":"Gitea","products":["Gitea Gitea"],"affected":[{"vendor":"Gitea","product":"Gitea","packageName":"gitea.dev","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.27.3","versionType":"semver"}]}],"references":["https://github.com/go-gitea/gitea/security/advisories/GHSA-54w9-6cc5-9wj9","https://github.com/go-gitea/gitea/pull/39426","https://blog.gitea.com/release-of-28.0.0/","https://github.com/go-gitea/gitea/releases/tag/v28.0.0"],"weaknesses":["CWE-918"],"ingestedAt":"2026-10-29T20:13:43.249Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/96xxx/CVE-2026-96400.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-96400","state":"PUBLISHED","datePublished":"2026-10-06T19:25:23.261Z","dateUpdated":"2026-10-07T11:35:27.280Z","assignerShortName":"Gitea","assignerOrgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","dateReserved":"2026-10-04T21:59:53.556Z"},"containers":{"cna":{"title":"Gitea migration SSRF to reserved addresses through ALLOWED_DOMAINS","descriptions":[{"lang":"en","value":"With `[migrations] ALLOWED_DOMAINS` set to a matching entry such as `*` or a hostname wildcard, Gitea's migration URL validation could permit reserved and link-local addresses, such as `169.254.169.254`, even when `ALLOW_LOCALNETWORKS = false`. The local-network block list did not cover these ranges, and a hostname matching the allow list was accepted regardless of its resolved address. A user who can start migrations on such an instance could reach these addresses from the Gitea server; the default empty `ALLOWED_DOMAINS` configuration is not affected."}],"affected":[{"vendor":"Gitea","product":"Gitea","packageName":"gitea.dev","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThanOrEqual":"1.27.3","versionType":"semver"}]}],"references":[{"url":"https://github.com/go-gitea/gitea/security/advisories/GHSA-54w9-6cc5-9wj9","name":"GitHub Security Advisory GHSA-54w9-6cc5-9wj9","tags":["vendor-advisory"]},{"url":"https://github.com/go-gitea/gitea/pull/39426","name":"Fix: go-gitea/gitea pull request #39426","tags":["patch"]},{"url":"https://blog.gitea.com/release-of-28.0.0/","name":"Gitea 28.0.0 release announcement","tags":["release-notes"]},{"url":"https://github.com/go-gitea/gitea/releases/tag/v28.0.0","name":"go-gitea/gitea v28.0.0 release","tags":["release-notes"]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-918","lang":"en","type":"CWE","description":"CWE-918: Server-Side Request Forgery (SSRF)"}]}],"providerMetadata":{"shortName":"Gitea","orgId":"88ee5874-cf24-4952-aea0-31affedb7ff2","dateUpdated":"2026-10-06T19:25:23.261Z"},"credits":[{"lang":"en","value":"https://github.com/ihopenre-eng","type":"reporter"},{"lang":"en","value":"https://github.com/TheFox0x7","type":"remediation developer"},{"lang":"en","value":"https://github.com/silverwind","type":"remediation developer"},{"lang":"en","value":"https://github.com/bircni","type":"remediation developer"},{"lang":"en","value":"https://github.com/wxiaoguang","type":"remediation developer"}]},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":4.3,"attackVector":"NETWORK","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"LOW","confidentialityImpact":"LOW"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-10-07T11:35:23.694637Z","id":"CVE-2026-96400","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-07T11:35:27.280Z"}}]}}}