CVE-2025-62297 Overview
CVE-2025-62297 is a stored cross-site scripting (XSS) vulnerability in SOPlanning, an open-source online planning tool. The flaw resides in the /projets endpoint, where authenticated users with medium privileges can inject arbitrary HTML and JavaScript into project fields. The injected payload persists in the application and executes in the browser of any user who later views the edited page. The issue is tracked under [CWE-79] and was fixed in SOPlanning version 1.55.
Critical Impact
Authenticated attackers can inject persistent JavaScript that executes in other users' browser sessions, enabling session hijacking, credential theft, and unauthorized actions within the SOPlanning application.
Affected Products
- SOPlanning versions prior to 1.55
- SOPlanning /projets (Projects) module
- Deployments exposing SOPlanning to multi-user environments
Discovery Timeline
- 2025-11-20 - CVE-2025-62297 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-62297
Vulnerability Analysis
SOPlanning fails to sanitize user-supplied input submitted to the /projets endpoint. Project-related fields accept arbitrary HTML and JavaScript, which the application then stores in its database. When another authenticated user opens the edited project page, the browser renders and executes the attacker-controlled payload in the context of the SOPlanning session.
Because the payload is persisted server-side, the attack does not depend on tricking users into clicking crafted links. Any user visiting the affected project view triggers execution automatically. This expands the impact beyond a single victim to every account that interacts with the modified resource.
Exploitation requires medium-level privileges within SOPlanning, meaning the attacker must already possess an account able to create or edit projects. The vulnerability is classified under [CWE-79] Improper Neutralization of Input During Web Page Generation.
Root Cause
The root cause is missing output encoding and insufficient input validation on project fields handled by the /projets endpoint. The application concatenates user input into HTML responses without escaping HTML control characters such as <, >, and ". As a result, browsers interpret attacker-supplied markup as executable content rather than data.
Attack Vector
An authenticated attacker with project-editing permissions submits a crafted payload containing HTML or JavaScript into a vulnerable project field. SOPlanning stores the payload without sanitization. When a second user opens the edited project page, the payload executes under the victim's origin, allowing the attacker to read session cookies, submit requests on the victim's behalf, or manipulate the rendered page.
For technical details on the disclosure, refer to the CERT Poland CVE Report and the SO Planning Overview.
Detection Methods for CVE-2025-62297
Indicators of Compromise
- Project records in SOPlanning containing HTML tags such as <script>, <img onerror=...>, <svg onload=...>, or inline event handlers.
- Web server access logs showing POST or PUT requests to /projets with payloads containing angle brackets, javascript: URIs, or encoded script fragments.
- Unexpected outbound requests from user browsers to attacker-controlled domains after loading SOPlanning project pages.
Detection Strategies
- Review the SOPlanning database for stored project fields containing HTML or JavaScript syntax that should not appear in legitimate project metadata.
- Deploy a Web Application Firewall (WAF) rule that inspects requests to /projets for script tags, event handler attributes, and encoded XSS payloads.
- Correlate authentication logs with project-edit activity to identify accounts editing many projects in rapid succession, which may indicate mass injection.
Monitoring Recommendations
- Enable HTTP request logging on the SOPlanning web server and forward logs to a centralized analytics platform for query and alerting.
- Monitor Content Security Policy (CSP) violation reports for inline script execution attempts against SOPlanning origins.
- Track privileged SOPlanning account usage and alert on unusual project modification volume or off-hours activity.
How to Mitigate CVE-2025-62297
Immediate Actions Required
- Upgrade SOPlanning to version 1.55 or later, which contains the vendor fix for CVE-2025-62297.
- Audit existing project records for stored HTML or JavaScript and sanitize or remove any injected content.
- Rotate session tokens and require re-authentication for users who may have viewed compromised project pages.
Patch Information
The vendor addressed CVE-2025-62297 in SOPlanning version 1.55. Administrators should download the updated release from the SO Planning project site and apply it following the vendor's upgrade procedure. Verify the running version after the update and confirm project fields render user input as text rather than markup.
Workarounds
- Restrict project creation and editing permissions to a minimal set of trusted accounts until the patch is applied.
- Deploy a Content Security Policy header that disallows inline scripts and unknown script sources on the SOPlanning application.
- Place SOPlanning behind a WAF configured to block requests containing XSS payload patterns targeting the /projets endpoint.
# Example restrictive Content Security Policy header for SOPlanning (Apache)
Header set Content-Security-Policy "default-src 'self'; script-src 'self'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'"
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

