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

CVE-2023-53900

CVE-2023-53900 Arbitrary File Upload in Spip
📅 PUBLISHED: 2025-12-16 17:06 UTC 🔄 UPDATED: 2026-09-23 20:34 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.32%
👁️
0.32% probability
7.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: 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
4.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-53900 is a critical file upload vulnerability in Spip 4.1.10, a popular content management system. The vulnerability allows an unauthenticated attacker to upload a malicious SVG file containing embedded external links. By tricking an administrator into clicking the crafted SVG logo, the attacker can redirect the administrator to a potentially dangerous URL, leading to further compromise such as credential theft, malware delivery, or session hijacking. The vulnerability stems from improper file upload filtering, specifically the lack of validation for SVG files that can contain external resources. The CVSS score is 8.8 (High), and the EPSS score is 0.0%, indicating low exploitation likelihood in the wild, but the risk remains significant due to the potential for targeted attacks.

⚡ 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 direct vulnerability in the Spip CMS core application.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
  • Base Score: 8.8 (High)
  • Attack Vector (AV): Network (N) - The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low (L) - No special conditions are required.
  • Privileges Required (PR): None (N) - The attacker does not need authentication.
  • User Interaction (UI): Required (R) - The victim (administrator) must click the malicious SVG logo.
  • Scope (S): Unchanged (U) - The vulnerability does not affect other components.
  • Confidentiality (C): High (H) - Successful exploitation can lead to disclosure of sensitive information.
  • Integrity (I): High (H) - The attacker can modify data or redirect to malicious sites.
  • Availability (A): High (H) - The attack can disrupt normal operations.

Threat Level: High. The vulnerability requires user interaction but can lead to full compromise of the Spip instance and potentially the underlying server.

Deep Dive & Mechanics

The vulnerability exists in the file upload functionality of Spip 4.1.10, specifically in the handling of SVG files for logos. SVG (Scalable Vector Graphics) files are XML-based and can contain external references, such as <image> or <use> tags with xlink:href attributes pointing to external URLs. The application fails to sanitize or validate these external references, allowing an attacker to upload an SVG file that, when rendered, loads content from an attacker-controlled server.

Attack Flow:

  1. The attacker crafts an SVG file with an embedded external link, e.g., <image xlink:href="http://attacker.com/malicious.svg"/>.
  2. The attacker uploads this SVG as a logo via the Spip admin interface (or through a public upload form if available).
  3. The administrator, while browsing the site, sees the logo and clicks on it (or the SVG is automatically rendered).
  4. The SVG loads the external resource, which could be a phishing page, a malware download, or a redirect to a malicious site.
  5. The administrator's session or credentials may be compromised.

Root Cause: The file upload filter does not inspect the content of SVG files for external references. It only checks the file extension and MIME type, which can be easily spoofed.

Vulnerable vs. Patched Code

Since no official patch is available, the vulnerable code is the file upload handler in Spip 4.1.10. The patched version would need to include validation of SVG content to block external references.

Vulnerable Code (Conceptual):

// In file upload handler (e.g., inc/upload.php)
function handle_upload($file) {
    $allowed_types = ['image/svg+xml', 'image/png', 'image/jpeg'];
    if (in_array($file['type'], $allowed_types)) {
        move_uploaded_file($file['tmp_name'], 'logos/' . $file['name']);
        return true;
    }
    return false;
}

Patched Code (Conceptual):

function handle_upload($file) {
    $allowed_types = ['image/svg+xml', 'image/png', 'image/jpeg'];
    if (in_array($file['type'], $allowed_types)) {
        // Additional check for SVG files
        if ($file['type'] === 'image/svg+xml') {
            $content = file_get_contents($file['tmp_name']);
            if (preg_match('/xlink:href|href\s*=\s*["\']http/i', $content)) {
                return false; // Block SVG with external references
            }
        }
        move_uploaded_file($file['tmp_name'], 'logos/' . $file['name']);
        return true;
    }
    return false;
}

Exploitation & Lab Setup

Red Team

Lab Setup:

  1. Install Spip 4.1.10 on a local server (e.g., using Docker or a LAMP stack).
  2. Create an attacker-controlled server to host the malicious SVG and capture requests.
  3. Craft the malicious SVG file.

Malicious SVG Example:

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100">
  <image xlink:href="http://attacker.com/malicious.svg" width="100" height="100"/>
</svg>

Exploitation Steps:

  1. Log in as an administrator (or trick an admin to upload the file).
  2. Navigate to the logo upload section (e.g., Configuration > Site > Logo).
  3. Upload the malicious SVG file.
  4. The admin clicks on the logo (or it is automatically rendered), triggering the external request.
  5. The attacker captures the request and can serve a phishing page or malware.

Blue Team

Detection:

  • Monitor file upload logs for SVG files with suspicious content.
  • Use network monitoring to detect outbound connections to unknown domains from the Spip server.
  • Implement file content scanning for external references in SVG files.

Mitigation:

  • Restrict file upload permissions to trusted administrators only.
  • Use a web application firewall (WAF) to block SVG files with external references.
  • Apply the conceptual patch to validate SVG content.

Indicators of Compromise (IOCs)

  • File Hashes (SHA256): (Example - replace with actual if known)
    • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (malicious SVG)
  • Network Indicators:
    • Outbound HTTP requests to http://attacker.com/malicious.svg
    • DNS queries for attacker.com
  • File Paths:
    • logos/malicious.svg
  • Log Entries:
    • File upload logs showing SVG files with unusual names or sizes.

Detection Engineering

YARA Rule

rule Detect_Malicious_SVG_Upload {
    meta:
        description = "Detects SVG files with external references (xlink:href) that may indicate CVE-2023-53900 exploitation"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-53900"
    strings:
        $xlink = /xlink:href\s*=\s*["'][a-zA-Z]+:\/\// nocase
        $href = /href\s*=\s*["'][a-zA-Z]+:\/\// nocase
    condition:
        $xlink or $href
}

Sigma Rule

title: Spip Malicious SVG Upload Detection
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects upload of SVG files with external references in Spip CMS
author: Valters IT
date: 2025-04-10
logsource:
    category: file_event
    product: linux
detection:
    selection:
        Image|endswith: '.svg'
        TargetFilename|contains: 'logos/'
    condition: selection
falsepositives:
    - Legitimate SVG files with external references (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-53900 Spip Malicious SVG Upload"; flow:to_server,established; content:"POST"; http_method; content:"logos/"; http_uri; content:".svg"; http_uri; pcre:"/xlink:href\s*=\s*["'][a-zA-Z]+:\/\//i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable SVG file uploads in Spip until a patch is available.
  2. Workaround: Implement a custom file upload filter that blocks SVG files with external references (see patched code above).
  3. Patch: Apply the official patch from Spip when released (monitor https://www.spip.net/).
  4. Monitoring: Enable logging for all file uploads and review logs for suspicious SVG files.
  5. User Training: Educate administrators about the risks of clicking on uploaded logos and other media.
  6. Network Segmentation: Isolate the Spip server from critical internal networks to limit the impact of a compromise.

Valters IT signature: This report is generated by an AI assistant for informational purposes. Always verify with official sources.

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