PT-2026-50586 · Unknown+2 · Online3Dviewer+2
CVSS v3.1
8.7
High
| Vector | AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N |
Name of the Vulnerable Software and Affected Versions
Gitea versions 1.25.0 and later
Description
Gitea is subject to stored cross-site scripting (XSS) through the built-in 3D file viewer, which utilizes the Online3DViewer library. The issue occurs when a
.gltf file contains an unsupported extension within the extensionsRequired variable. The viewer generates an error message containing the name of the unsupported extension, which Gitea then inserts into the Document Object Model (DOM) using innerHTML without proper sanitization. An attacker can push a specially crafted .gltf file to a repository to execute arbitrary JavaScript in the context of any user who views the file. This can lead to full account takeover, including the creation of API access tokens via the /user/settings/applications endpoint, reading private repositories, and modifying repository contents.Recommendations
For Gitea versions 1.25.0 and later, replace the use of
innerHTML with textContent when displaying error messages to ensure the content is treated as text rather than HTML.
As a mitigation measure, render 3D file previews inside a sandboxed <iframe> with a restrictive Content-Security-Policy (CSP) to limit inline script execution.Exploit
Fix
XSS
Found an issue in the description? Have something to add? Feel free to write us 👾
Weakness Enumeration
Related Identifiers
Affected Products
Gitea
Online3Dviewer
Red Os