Description
Forgejo before 15.0.3 contains a stored cross-site scripting vulnerability that allows authenticated attackers to execute arbitrary JavaScript in other users' browsers by setting a full name containing an HTML payload and triggering an Actions run. When the DEFAULT_SHOW_FULL_NAME option is enabled, the run description is assembled server-side with the user's display name interpolated into an HTML string via a translation function that does not escape its arguments, and the frontend renders the result using a Vue v-html binding, causing script execution for any user who views the affected Actions run page.
Published: 2026-07-02
Score: 2.1 Low
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Forgejo versions earlier than 15.0.3 allow an authenticated user to store an arbitrary JavaScript payload in their full name and trigger an Actions run that merges the name into an HTML string rendered server‑side. When DEFAULT_SHOW_FULL_NAME is enabled, the run description is assembled with the user’s display name interpolated into a Vue v-html binding without proper escaping, which results in client‑side script execution for any user who views the run page. The ability to execute arbitrary JavaScript in other users’ browsers enables client‑side attacks such as phishing or credential theft; these outcomes are inferred from the vulnerability’s impact rather than explicitly stated in the documentation.

Affected Systems

All installations of Forgejo (forgejo:forgejo) with a version earlier than 15.0.3 and with the DEFAULT_SHOW_FULL_NAME option set to true are impacted. No other product variants or versions are listed. The vulnerability affects the full user name rendering logic used by the Actions run feature.

Risk and Exploitability

The CVSS score of 2.1 reflects the need for user authentication and a configuration setting. Exploitation requires the attacker to set a malicious full name, create an Actions run, and wait for or entice other users to view the run page; based on this description, it is inferred that the attacker could cause client‑side code execution that might lead to phishing or session hijacking. The EPSS score of < 1 % indicates a very low probability of exploitation, and the vulnerability is not listed in CISA’s KEV catalog, which together suggest that the overall risk is low but not negligible.

Generated by OpenCVE AI on July 21, 2026 at 10:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to Forgejo 15.0.3 or later, which sanitizes display names before rendering the Actions run description.
  • Set the DEFAULT_SHOW_FULL_NAME configuration option to false, or restrict creation of Actions runs to trusted users if an upgrade cannot be applied immediately.
  • Apply server‑side validation and proper escaping to all user‑supplied display names before embedding them in any HTML output, following best practices for mitigating CWE‑79.

Generated by OpenCVE AI on July 21, 2026 at 10:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 06 Jul 2026 14:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Thu, 02 Jul 2026 20:15:00 +0000

Type Values Removed Values Added
Description Forgejo before 15.0.3 contains a stored cross-site scripting vulnerability that allows authenticated attackers to execute arbitrary JavaScript in other users' browsers by setting a full name containing an HTML payload and triggering an Actions run. When the DEFAULT_SHOW_FULL_NAME option is enabled, the run description is assembled server-side with the user's display name interpolated into an HTML string via a translation function that does not escape its arguments, and the frontend renders the result using a Vue v-html binding, causing script execution for any user who views the affected Actions run page.
Title Forgejo < 15.0.3 - Stored XSS via Actions Run Full Name Rendering
First Time appeared Forgejo
Forgejo forgejo
Weaknesses CWE-79
CPEs cpe:2.3:a:forgejo:forgejo:*:*:*:*:*:*:*:*
Vendors & Products Forgejo
Forgejo forgejo
References
Metrics cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N'}

cvssV4_0

{'score': 2.1, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-06T13:30:13.629Z

Reserved: 2026-07-02T15:38:18.929Z

Link: CVE-2026-59102

cve-icon Vulnrichment

Updated: 2026-07-06T13:30:03.229Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-21T11:00:05Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')