CVE-2025-35996

9.0 CRITICAL

📋 TL;DR

KUNBUS PiCtory versions 2.11.1 and earlier contain a stored cross-site scripting (XSS) vulnerability where authenticated attackers can upload specially crafted filenames that execute malicious JavaScript when viewed by other users. This allows attackers to steal session cookies, perform actions as victims, or redirect users to malicious sites. Organizations using PiCtory for industrial control system configuration are affected.

💻 Affected Systems

Products:
  • KUNBUS PiCtory
Versions: 2.11.1 and earlier
Operating Systems: RevPi OS (Raspberry Pi based industrial OS)
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated access to PiCtory web interface. Typically deployed on Revolution Pi industrial controllers.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attacker gains full administrative control over PiCtory system, steals credentials, deploys ransomware to connected industrial devices, or causes physical damage to industrial processes.

🟠

Likely Case

Attacker steals session cookies to hijack authenticated sessions, performs unauthorized configuration changes, or deploys malware to connected devices.

🟢

If Mitigated

Limited to authenticated user compromise within the PiCtory interface, with network segmentation preventing lateral movement to critical systems.

🌐 Internet-Facing: HIGH
🏢 Internal Only: HIGH

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is technically simple once authenticated. Stored XSS payloads persist until cleaned.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.11.2 or later

Vendor Advisory: http://packages.revolutionpi.de/pool/main/p/pictory/

Restart Required: Yes

Instructions:

1. Backup current PiCtory configurations. 2. Update PiCtory package using apt: 'sudo apt update && sudo apt upgrade pictory'. 3. Restart PiCtory service: 'sudo systemctl restart pictory'. 4. Verify version is 2.11.2 or higher.

🔧 Temporary Workarounds

Input Validation Web Application Firewall

all

Deploy WAF rules to block filenames containing HTML/JavaScript tags

Restrict File Upload API

linux

Block or monitor API endpoints that accept filename uploads

sudo iptables -A INPUT -p tcp --dport [API_PORT] -m string --string "filename=" --algo bm -j DROP

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate PiCtory systems from critical OT networks
  • Enforce strong authentication and session management with short timeouts and MFA

🔍 How to Verify

Check if Vulnerable:

Check PiCtory version: 'dpkg -l | grep pictory'. If version is 2.11.1 or lower, system is vulnerable.

Check Version:

dpkg -l | grep pictory

Verify Fix Applied:

After update, verify version is 2.11.2 or higher: 'dpkg -l | grep pictory'. Test by attempting to upload filename with script tags - should be rejected or sanitized.

📡 Detection & Monitoring

Log Indicators:

  • Unusual filename uploads containing <script> tags in PiCtory logs
  • Multiple failed authentication attempts followed by successful login

Network Indicators:

  • HTTP POST requests to file upload API endpoints with suspicious payloads
  • Outbound connections from PiCtory system to unknown external IPs

SIEM Query:

source="pictory.log" AND ("filename" AND ("<script>" OR "javascript:" OR "onerror="))

🔗 References

📤 Share & Export