CVE-2026-24135: Gogs vulnerable to arbitrary file deletion via path traversal in wiki page update

Published Feb 6, 2026
·
Updated

Summary A Path Traversal vulnerability exists in the updateWikiPage function of Gogs. The vulnerability allows an authenticated user with write access to a repository's wiki to delete arbitrary files on the server by manipulating the oldtitle parameter in the wiki editing form.

Vulnerability Deatils The vulnerability is located in internal/database/wiki.go. When updating a wiki page, the application accepts an oldtitle parameter to identify the potential rename operation. This parameter is used directly in path.Join and os.Remove without proper sanitization.

Code snippet from internal/database/wiki.go: go // Line 114 os.Remove(path.Join(localPath, oldTitle+".md"))

If an attacker provides a path traversal sequence (e.g., ../../../../target) as oldtitle, the os.Remove function will resolve the path relative to the wiki's local directory and delete the target file. The vulnerability is limited to deleting files that end with .md (due to the appended extension), but depending on the filesystem and specific path.Join behavior, or if critical .md files exist (e.g. documentation, other wikis), the impact is significant. Additionally, in some contexts, the extension might be bypassed or ignored.

Impact - Denial of Service: Deletion of critical configuration files or data (if they match the extension or via other tricks). - Data Loss: Deletion of other users' wiki pages or documentation.

Remediation Sanitize the oldTitle parameter using ToWikiPageName (or path.Clean and basename validation) before using it in file operations, similar to how the new title is currently handled.

go // Recommended Fix if oldTitle != "" { oldTitle = ToWikiPageName(oldTitle) }

Reproduction Steps 1. Log in to Gogs as a user with write access to a repository wiki. 2. Intercept the POST request to /repo/wiki/edit. 3. Modify the oldtitle parameter to ../../../../tmp/targetfile. 4. Submit the request. 5. Observe that /tmp/targetfile.md is deleted from the server.

Other sources

Gogs is an open source self-hosted Git service. In version 0.13.3 and prior, a path traversal vulnerability exists in the updateWikiPage function of Gogs. The vulnerability allows an authenticated user with write access to a repository's wiki to delete arbitrary files on the server by manipulating the oldtitle parameter in the wiki editing form. This issue has been patched in versions 0.13.4 and 0.14.0+dev.

MITRE

Affected Software

3 affected componentsFixes available
Gogs Gogs<=0.13.3
go/gogs.io/gogs<=0.13.3
0.13.4
Gogs Gogs<0.13.4

Event History

Feb 6, 2026
CVE Published
via MITRE·05:47 PM
Data Sourced
via MITRE·05:47 PM
DescriptionWeakness
Data Sourced
via NVD·06:15 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·06:15 PM
Affected Software
Advisory Published
via GitHub·06:16 PM
Data Sourced
via GitHub·06:16 PM
DescriptionWeaknessAffected Software
Feb 27, 58104
Event
via FIRST·11:26 AM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2026-24135?

CVE-2026-24135 has a high severity due to its potential for arbitrary file deletion.

2

How do I fix CVE-2026-24135?

To fix CVE-2026-24135, update Gogs to version 0.13.4 or later.

3

Who is affected by CVE-2026-24135?

CVE-2026-24135 affects authenticated users with write access to a Gogs repository's wiki in versions up to 0.13.3.

4

What is the exploit path for CVE-2026-24135?

The exploit path for CVE-2026-24135 is through the `updateWikiPage` function allowing path traversal attacks.

5

What systems are vulnerable to CVE-2026-24135?

Gogs versions up to 0.13.3 are vulnerable to CVE-2026-24135 and should be updated immediately.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203