Skip to content

Fix track time issue id#36664

Merged
lunny merged 6 commits intogo-gitea:mainfrom
lunny:lunny/fix_track_time_issue_id
Feb 20, 2026
Merged

Fix track time issue id#36664
lunny merged 6 commits intogo-gitea:mainfrom
lunny:lunny/fix_track_time_issue_id

Conversation

@lunny
Copy link
Copy Markdown
Member

@lunny lunny commented Feb 18, 2026

No description provided.

@lunny lunny added type/bug backport/v1.25 This PR should be backported to Gitea 1.25 labels Feb 18, 2026
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Feb 18, 2026
@github-actions github-actions bot added modifies/api This PR adds API routes or modifies them modifies/go Pull requests that update Go code labels Feb 18, 2026
@silverwind silverwind requested a review from Copilot February 18, 2026 01:50
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request fixes a security vulnerability where tracked time records could be accessed or deleted across different issues by knowing the tracked time ID. The fix adds issue ID scoping to the GetTrackedTimeByID function to ensure that tracked time records can only be accessed when the correct issue ID is provided.

Changes:

  • Modified GetTrackedTimeByID to require both issueID and trackedTimeID parameters, adding a WHERE clause to scope the lookup
  • Updated all callers (API endpoint, web endpoint, and comment loading) to pass the issue ID
  • Added comprehensive integration tests to verify the security fix works for both web and API endpoints

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
models/issues/tracked_time.go Core security fix: Changed GetTrackedTimeByID signature to accept issueID parameter and added WHERE clause for issue_id scoping
routers/api/v1/repo/issue_tracked_time.go Updated API endpoint to pass issue.ID to GetTrackedTimeByID
routers/web/repo/issue_timetrack.go Updated web endpoint to pass issue.ID to GetTrackedTimeByID
models/issues/comment.go Updated comment loading to pass c.IssueID to GetTrackedTimeByID
tests/integration/issue_timetrack_test.go New test validating web endpoint rejects cross-issue tracked time deletion attempts
tests/integration/api_issue_tracked_time_test.go Added test case validating API endpoint rejects cross-issue tracked time deletion attempts

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Feb 18, 2026
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Feb 20, 2026
@lunny lunny added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Feb 20, 2026
@lunny lunny enabled auto-merge (squash) February 20, 2026 21:09
@lunny lunny merged commit 5ad8761 into go-gitea:main Feb 20, 2026
24 checks passed
@GiteaBot GiteaBot added this to the 1.26.0 milestone Feb 20, 2026
@GiteaBot GiteaBot removed the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Feb 20, 2026
@lunny lunny deleted the lunny/fix_track_time_issue_id branch February 20, 2026 22:01
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Feb 20, 2026
@GiteaBot GiteaBot added the backport/done All backports for this PR have been created label Feb 20, 2026
lunny added a commit that referenced this pull request Feb 21, 2026
Backport #36664 by @lunny

---------

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
zjjhot added a commit to zjjhot/gitea that referenced this pull request Feb 23, 2026
* giteaofficial/main: (81 commits)
  Add keyboard shortcuts for repository file and code search (go-gitea#36416)
  Refactor text utility classes to Tailwind CSS (go-gitea#36703)
  Prevent redirect bypasses via backslash-encoded paths (go-gitea#36660)
  Fix force push time-line commit comments of pull request (go-gitea#36653)
  Fix get release draft permission check (go-gitea#36659)
  Move `X_FRAME_OPTIONS` setting from `cors` to `security` section (go-gitea#30256)
  Update JS and PY deps (go-gitea#36708)
  Move jobparser from act repository to Gitea (go-gitea#36699)
  Fix push time bug (go-gitea#36693)
  Add icon to buttons "Close with Comment", "Close Pull Request", "Close Issue" (go-gitea#36654)
  various fixes (go-gitea#36697)
  Add AI Contribution Policy to CONTRIBUTING.md (go-gitea#36651)
  Add some validation on values provided to USER_DISABLED_FEATURES and EXTERNAL_USER_DISABLED_FEATURES (go-gitea#36688)
  Rework e2e tests (go-gitea#36634)
  Remove unused functions (go-gitea#36672)
  Add migration http transport for push/sync mirror lfs (go-gitea#36665)
  Fix track time issue id (go-gitea#36664)
  Refactor inline style attributes (go-gitea#36652)
  Update Nix flake (go-gitea#36679)
  Upgrade gogit to 5.16.5 (go-gitea#36680)
  ...

# Conflicts:
#	web_src/js/features/repo-issue-content.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport/done All backports for this PR have been created backport/v1.25 This PR should be backported to Gitea 1.25 lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. modifies/api This PR adds API routes or modifies them modifies/go Pull requests that update Go code type/bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants