GHSA-xh32-cx6c-cp4v
Gogs XSS allowed by stored call in PDF renderer
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| Go | github.com/gogs/gogs | < 0.13.3-0.20250608224432-110117b2e5e5 | 0.13.3-0.20250608224432-110117b2e5e5 |
| Go | gogs.io/gogs | < 0.13.3-0.20250608224432-110117b2e5e5 | 0.13.3-0.20250608224432-110117b2e5e5 |
Details
As written in the advisory (Markdown source, shown as plain text).
### Summary
A stored XSS is present in Gogs which allows client-side Javascript code execution.
### Details
Gogs Version:
```
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
gogs/gogs latest fe92583bc4fe 10 hours ago 99.3MB
```
Application version: `0.14.0+dev`
Local setup using:
```bash
# Pull image from Docker Hub.
docker pull gogs/gogs
# Create local directory for volume.
sudo mkdir -p /var/gogs
# Use `docker run` for the first time.
docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs
```
The vulnerability is caused by the usage of a vulnerable and outdated component: `pdfjs-1.4.20` under public/plugins/.
Read more about this vulnerability at [codeanlabs - CVE-2024-4367](https://codeanlabs.com/blog/research/cve-2024-4367-arbitrary-js-execution-in-pdf-js/).
### PoC
1. Upload the Proof of Concept file hosted at https://codeanlabs.com/wp-content/uploads/2024/05/poc_generalized_CVE-2024-4367.pdf in a repository.
2. Click on the file to be previewed.

### Credits
Edoardo Ottavianelli
References
External links from the advisory. They lead to third-party sites.
- https://github.com/gogs/gogs/security/advisories/GHSA-xh32-cx6c-cp4v
- https://nvd.nist.gov/vuln/detail/CVE-2025-47943
- https://github.com/gogs/gogs/commit/110117b2e5e5baa4809c819bec701e929d2d8d40
- https://github.com/gogs/gogs
- https://github.com/gogs/gogs/releases/tag/v0.13.3
- https://www.hacktivesecurity.com/blog/2025/07/15/cve-2025-47943-stored-xss-in-gogs-via-pdf