CVE-2025-57768

Stored Cross-Site Scripting (XSS)

Stored XSS in "Hours” field when creating or editing an issue (SQLite database)

Overview

A vulnerability in Phproject 1.8.0–1.8.2 allows any authenticated user to inject HTML/JavaScript into the Planned Hours field when creating or editing a project. The input is stored in the SQLite database and reflected unsanitized in the HTML of the issue page, leading to persistent execution of malicious scripts in other users’ browsers.

Affected Versions

Patched Versions

Technical Details

The vulnerability occurs because the server includes the planned_hours field in the HTML response without proper encoding or sanitization. An attacker can submit a payload such as:

<script>alert(1)</script>

This input is reflected in the issue page HTML, which the browser interprets and executes, causing a Stored XSS condition.

PoC

1. Log in as any authenticated user.
2. Navigate to /issues/new/ to create a new project.
3. In the "Planned Hours" field, enter: <script>alert(document.domain)</script>
4. Submit the form.
5. When viewing the project issue page, the alert executes, demonstrating Stored XSS.

Impact

Solution

Timeline

References