CVE-2026-112887
Full vulnerability record from the local CVENow database.
Description
Gitea Actions task tokens authenticate to the REST API as a shared system user with a negative ID, which repository, organization, project and key filters treated as having no owner restriction, and the token carried no API scope to restrict user-scoped routes. A user who can run a workflow could use the job's token with `GET /api/v1/user/repos` to list every repository on the instance, including private repositories of other users and organizations, with their metadata. Repository contents remained protected by per-repository permission checks. System users now own nothing, and `/api/v1/user` routes other than `GET /api/v1/user` accept only individual and bot accounts.
Severity
Not scored
CVSS score
Not available
Vulnerability status
Deferred
Source identifier
88ee5874-cf24-4952-aea0-31affedb7ff2
Published
2026-11-01 10:18:33.457000
Last modified
2026-11-01 10:18:34.510000
View original CVE JSON
{
"id": "CVE-2026-112887",
"sourceIdentifier": "88ee5874-cf24-4952-aea0-31affedb7ff2",
"published": "2026-11-01T10:18:33.457",
"lastModified": "2026-11-01T10:18:34.510",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "Gitea Actions task tokens authenticate to the REST API as a shared system user with a negative ID, which repository, organization, project and key filters treated as having no owner restriction, and the token carried no API scope to restrict user-scoped routes. A user who can run a workflow could use the job's token with `GET /api/v1/user/repos` to list every repository on the instance, including private repositories of other users and organizations, with their metadata. Repository contents remained protected by per-repository permission checks. System users now own nothing, and `/api/v1/user` routes other than `GET /api/v1/user` accept only individual and bot accounts."
}
],
"affected": [
{
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2",
"affectedData": [
{
"vendor": "Gitea",
"product": "Gitea",
"defaultStatus": "unaffected",
"packageName": "gitea.dev",
"versions": [
{
"version": "0",
"lessThan": "28.3.0",
"versionType": "semver",
"status": "affected"
}
]
}
]
}
],
"metrics": {},
"weaknesses": [
{
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2",
"type": "Secondary",
"description": [
{
"lang": "en",
"value": "CWE-200"
},
{
"lang": "en",
"value": "CWE-862"
}
]
}
],
"references": [
{
"url": "https://blog.gitea.com/release-of-28.3.0/",
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2"
},
{
"url": "https://github.com/go-gitea/gitea/pull/39945",
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2"
},
{
"url": "https://github.com/go-gitea/gitea/pull/40115",
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2"
},
{
"url": "https://github.com/go-gitea/gitea/releases/tag/v28.3.0",
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2"
},
{
"url": "https://github.com/go-gitea/gitea/security/advisories/GHSA-8r36-6j2c-3gmv",
"source": "88ee5874-cf24-4952-aea0-31affedb7ff2"
}
]
}