GHSA-4j89-2c4f-44c6
Gogs has DoS in rendering issue index pattern
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | gogs.io/gogs | < 0.14.3 | 0.14.3 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
Special template of issue index pattern may cause panic.
### Details
in internal/markup/markup.go
```go
link = fmt.Sprintf(`<a href="%s">%s</a>`, com.Expand(metas["format"], metas), m)
```
Issue index pattern is rendered to link with `com.Expand`.
However, `com.Expand` is not safe.
```go
i = strings.Index(template, "}")
if s, ok := match[template[:i]]; ok {
```
when `{` is found but `}` not found, i comes to 1, template[:-1] will be called, and then panicked

finally, all pages than contains issue index are unavailable.
### PoC
1. set issue index pattern as follow

2. add a commit which point to an issue in its msg

using `#1` above
### Impact
DoS that cause part of pages of the specify repo unavailable.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/gogs/gogs/security/advisories/GHSA-4j89-2c4f-44c6
- https://nvd.nist.gov/vuln/detail/CVE-2026-52796
- https://github.com/gogs/gogs/pull/8312
- https://github.com/gogs/gogs/commit/0529d95fc39f2b6d2997b19a2a12e24522684722
- https://github.com/gogs/gogs
- https://github.com/gogs/gogs/releases/tag/v0.14.3