GitHub Advisoryadvisory · Go

GHSA-m932-crvm-gcp5 Gitea: Null Pointer Dereference in AddTime API Causes Authenticated Denial of Service

LOW Published 2026-07-21 Modified 2026-07-21 Official page ↗
Aliases
CVE-2026-55984
Ecosystem
Go
Packages
code.gitea.io/gitea
Severity
Low
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:L
Weaknesses
CWE-476
Reviewed
2026-07-21

Affected packages

• Go code.gitea.io/gitea: < 1.27.0 → fixed in 1.27.0

Description

Summary The AddTime API handler continues execution after an error returned by `GetUserByName()`. When a repository administrator specifies a non-existent user name, an error response is generated but execution does not stop. Subsequent code dereferences a nil user pointer, resulting in a runtime panic. Details Affected endpoint: ```http POST /api/v1/repos/{owner}/{repo}/issues/{index}/times ``` Affected file: ```text routers/api/v1/repo/issue_tracked_time.go ``` Relevant code: ```go user, err = user_model.GetUserByName(ctx, form.User) if err != nil { ctx.APIErrorInternal(err) // missing return } ``` Execution continues to: ```go trackedTime, err := issues_model.AddTime( ctx, user, issue, form.Time, created, ) ``` When `GetUserByName()` fails, `user` is nil. The subsequent call dereferences the nil pointer and triggers a runtime panic. Proof of Concept Using a repository administrator account: ```http POST /api/v1/repos/owner/repo/issues/1/times Content-Type: application/json { "time": 3600, "user_name": "nonexistent_user_xyz" } ``` Result: ```text HTTP 500 runtime error: invalid memory address or nil pointer dereference ``` The stack trace indicates execution reaches the AddTime code path with a nil user object. Impact An authenticated repository administrator can repeatedly trigger server-side panics through the affected endpoint. Depending on deployment configuration and panic recovery behavior, this may result in request failures, stack trace disclosure, excessive log generation, or degraded service availability. Suggested Fix Add a return statement after the error response: ```go user, err = user_model.GetUserByName(ctx, form.User) if err != nil { ctx.APIErrorInternal(err) return } ```

Related

Alias · CVE (1)

  • CVE-2026-55984 Null Pointer Dereference in AddTime API Causes Authenticated Denial of Service vulnerability

Weakness · CWE (1)

  • CWE-476 NULL Pointer Dereference weakness

References