CVE-2026-52804
mediumPriorität · verfolgen · 0EPSS 0.005 · 43. PerzentilDEEUUSEPSS · bewertet 2026-10-27
Gogs is an open source self-hosted Git service. Prior to 0.14.3, a repository admin collaborator can escalate their privileges to owner-level access by exploiting an off-by-one error in the ChangeCollaborationAccessMode function. This vulnerability is fixed in 0.14.3.
cvss
Technischer Schweregrad, 0–10. Eine Zeile je Quelle.
Basiswert 0–10 · höher = schwerwiegender · Vektor überfahren zum Auflösen
SSVC
Eine Handlungsentscheidung — aus Ausnutzung und Auswirkung.
schwächen
Die CWE-Schwächeklassen, zu denen dies gehört.
betroffene Produkte (5)
Betroffene Produkte und Versionsbereiche.
Advisories (3)
Hersteller- und Ökosystem-Meldungen dazu.
- WID-SEC-W-2026-2013Gogs: Mehrere SchwachstellenDeutsch2026-06-18csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Gogs ausnutzen, um erweiterte Berechtigungen zu erlangen, beliebigen Code auszuführen – sogar mit erweiterten Berechtigungen, was zur vollständigen Kontrolle über das System führen kann –, Sicherheitsmaßnahmen zu umgehen, Daten zu manipulieren, Cross-Site-Scripting-Angriffe durchzuführen, Benutzer auf bösartige Websites umzuleiten oder einen Denial-of-Service-Zustand zu verursachen.
- GHSA-4565-r4x7-hg8jGogs Vulnerable to Privilege Escalation via Collaboration Access Mode Validation2026-06-23ghsa · osvUS
## Summary A repository admin collaborator can escalate their privileges to owner-level access by exploiting an off-by-one error in the `ChangeCollaborationAccessMode` function. ## Vulnerable Code In `internal/database/repo_collaboration.go`, line 129: ```go func (r *Repository) ChangeCollaborationAccessMode(userID int64, mode AccessMode) error { // Discard invalid input if mode <= AccessModeNone || mode > AccessModeOwner { return nil } ``` `AccessModeOwner` has value 4. The check `mode > AccessModeOwner` evaluates to `4 > 4 = false`, allowing `AccessModeOwner` to pass through. The correct check should be `mode >= AccessModeOwner`. The web route at `internal/route/repo/setting.go:413-416` takes the mode as a raw integer from query parameters: ```go func ChangeCollaborationAccessMode(c *context.Context) { if err := c.Repo.Repository.ChangeCollaborationAccessMode( c.QueryInt64("uid"), database.AccessMode(c.QueryInt("mode"))); err != nil { ``` This allows an admin collaborator to POST `mode=4` and escalate to owner. ## Impact A repository admin collaborator (AccessModeAdmin = 3) can escalate to owner-level access (AccessModeOwner = 4), gaining the ability to: - **Delete the repository** - **Transfer repository ownership** to another user - **Erase wiki data** - Perform all other owner-only operations The `access` table is also updated (line 181), so the escalated permissions persist across sessions. ## Contrast The API route at `internal/route/api/v1/repo_collaborators.go:46` uses `ParseAccessMode()` which only returns Read, Write, or Admin - never Owner. The API endpoint is not affected. ## Steps to Reproduce 1. User A creates a private repository 2. User A adds User B as a collaborator with **Admin** access (mode=3) 3. User B logs in and navigates to the repository settings collaboration page 4. User B sends a POST request: ``` POST /{owner}/{repo}/settings/collaboration/access_mode?uid={B_uid}&mode=4 ``` 5. User B now has **Owner** access - the "Danger Zone" section appears with "Delete This Repository" and "Transfer Ownership" buttons ## Suggested Fix Change the validation in `internal/database/repo_collaboration.go` line 129 from: ```go if mode <= AccessModeNone || mode > AccessModeOwner { ``` to: ```go if mode <= AccessModeNone || mode >= AccessModeOwner { ```
- GO-2026-5110Gogs Vulnerable to Privilege Escalation via Collaboration Access Mode Validation in gogs.io/gogs2026-06-25vendor · osvUS
Gogs Vulnerable to Privilege Escalation via Collaboration Access Mode Validation in gogs.io/gogs. NOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions. (If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.) The additional affected modules and versions are: gogs.io/gogs before v0.14.3.
auch bekannt als (5)
Weitere Namen und Kennungen dieser Entität.
quellen
Welche Quellen diesen Datensatz belegen und wann.
Referenzen (12)
Externe Belege — Patches, Meldungen, Analysen.
- https://github.com/gogs/gogs/commit/1fdc9cc28e159135cfa4d6b11ecd5daa0f8ce22bcnnvd
- https://github.com/gogs/gogs/pull/8227cnnvd
- https://github.com/gogs/gogs/releases/tag/v0.14.3cnnvd
- https://github.com/gogs/gogs/security/advisories/GHSA-4565-r4x7-hg8jcnnvd
- https://github.com/gogs/gogs/commit/1fdc9cc28e159135cfa4d6b11ecd5daa0f8ce22benisa_euvd
- https://github.com/gogs/gogs/pull/8227enisa_euvd
- https://github.com/gogs/gogs/releases/tag/v0.14.3enisa_euvd
- https://github.com/gogs/gogs/security/advisories/GHSA-4565-r4x7-hg8jenisa_euvd
Angreifer nutzen Schwachstellen wie diese gegen im Internet exponierte Dienste aus. Sehen Sie mit einem kostenlosen Passiv-Scan, was exponiert ist.
Kostenloser Scan