The Zombie Stopwatch: Haunting Gitea with Revoked Access
Vulnerability ID: CVE-2026-20883
CVSS Score: 6.5
Published: 2026-01-23
A logic flaw in Gitea's stopwatch feature created a persistence vulnerability where users maintained visibility into private issue metadata after access revocation. By failing to re-validate permissions during API object serialization, the system allowed 'zombie' stopwatch records to leak sensitive titles and repository names.
TL;DR
Gitea forgot to check if you still work there before showing you your timesheets. If a user started a stopwatch on a private issue and then lost access to the repository, the API would still happily serve up the issue title and repo name in the stopwatch list. It's a classic Broken Access Control (CWE-284) fixed in version 1.25.4.
Technical Details
- CVE ID: CVE-2026-20883
- CWE: CWE-284 (Improper Access Control)
- CVSS Score: 6.5 (Medium)
- Attack Vector: Network (API)
- Fix Version: 1.25.4
- Impact: Information Disclosure
Affected Systems
- Gitea self-hosted instances
- Gitea Docker containers
-
Gitea: <= 1.25.3 (Fixed in:
1.25.4)
Code Analysis
Commit: 95ea2df
Fix stopwatch permission check and cleanup logic
func ToStopWatches(ctx, stopwatches, doer) {
+ perm, err = access_model.GetUserRepoPermission(ctx, repo, doer)
+ if !perm.CanReadIssuesOrPulls(issue.IsPull) { continue }
Exploit Details
- Theory: Exploitation involves standard API calls to /user/stopwatches after permission revocation.
Mitigation Strategies
- Upgrade to Gitea 1.25.4 or later immediately.
- Implement a regular audit of the 'stopwatch' table to detect orphaned records.
- Force-stop all active stopwatches during user offboarding processes manually if patching is delayed.
Remediation Steps:
- Backup your Gitea configuration and database.
- Download the 1.25.4 binary or pull the latest Docker image.
- Restart the Gitea service.
- Verify the fix by attempting to view stopwatches for a user with revoked access.
References
Read the full report for CVE-2026-20883 on our website for more details including interactive diagrams and full exploit analysis.
Top comments (0)