CVE-2025-66924

6.1 MEDIUM

📋 TL;DR

This Cross-site scripting (XSS) vulnerability in Open Source Point of Sale allows attackers to inject malicious scripts into the 'name' parameter when creating or updating item kits. This affects users of Open Source Point of Sale v3.4.1 who have web access to the application. Successful exploitation could lead to session hijacking, data theft, or unauthorized actions.

💻 Affected Systems

Products:
  • Open Source Point of Sale
Versions: v3.4.1
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects web interface users; requires access to Create/Update Item Kit functionality.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker steals administrator session cookies, gains full control of the POS system, modifies pricing, steals customer payment data, or installs backdoors.

🟠

Likely Case

Attacker steals user session cookies to perform unauthorized transactions, modify inventory, or access sensitive business data.

🟢

If Mitigated

Script execution is blocked by Content Security Policy or input validation, limiting impact to minor UI disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access to the Create/Update Item Kit feature. Public proof-of-concept exists in the referenced GitHub repository.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Not available

Vendor Advisory: https://github.com/opensourcepos/opensourcepos

Restart Required: No

Instructions:

1. Monitor the official Open Source Point of Sale repository for security updates. 2. Apply any future patches that address CVE-2025-66924. 3. Consider upgrading to newer versions if available.

🔧 Temporary Workarounds

Input Validation Filter

all

Implement server-side input validation to sanitize the 'name' parameter by removing or encoding HTML/JavaScript characters.

Content Security Policy

all

Implement a strict Content Security Policy header to prevent inline script execution and restrict script sources.

🧯 If You Can't Patch

  • Restrict access to the Create/Update Item Kit functionality to trusted administrators only.
  • Implement a Web Application Firewall (WAF) with XSS protection rules to filter malicious payloads.

🔍 How to Verify

Check if Vulnerable:

Test by attempting to inject script payloads into the 'name' parameter when creating/updating item kits and checking if they execute.

Check Version:

Check the application version in the admin interface or configuration files.

Verify Fix Applied:

Verify that script payloads in the 'name' parameter are properly sanitized and do not execute in the browser.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to item kit creation/update endpoints with script-like content in parameters.

Network Indicators:

  • HTTP requests containing script tags or JavaScript code in the 'name' parameter.

SIEM Query:

web.url:*item_kit* AND (web.param.name:*script* OR web.param.name:*javascript:* OR web.param.name:*onerror=*)

🔗 References

📤 Share & Export