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

CVE-2025-5214

CVE-2025-5214 SQL Injection in Kashipara
📅 PUBLISHED: 2025-05-26 23:31 UTC 🔄 UPDATED: 2026-09-23 20:24 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.58%
👁️
0.58% probability
14.4× above the median CVE
Tier: ELEVATED
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
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-5214 is a critical SQL injection vulnerability discovered in Kashipara Responsive Online Learning Platform version 1.0. The flaw resides in the /courses/course_detail_user_new.php file, where the ID parameter is directly concatenated into SQL queries without sanitization or parameterization. An unauthenticated attacker can exploit this remotely to extract, modify, or delete database contents, potentially leading to full server compromise. The exploit has been publicly disclosed, increasing the risk of active exploitation. No official patch is available from the vendor, and the product name appears to contain a typo ("Learing" instead of "Learning").

⚡ 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 does not involve NPM, PyPI, Go, or Ruby packages. It is a standalone PHP application. However, organizations using this platform should treat it as a high-risk component in their software supply chain due to the lack of vendor support and public exploit availability.

CVSS Breakdown & Threat Level

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

Threat Level: Critical. The vulnerability is trivial to exploit, requires no authentication, and has a public proof-of-concept. Immediate action is required.

Deep Dive & Mechanics

The vulnerability exists in the course_detail_user_new.php script. The ID parameter from the HTTP GET request is directly embedded into a SQL query without any sanitization or prepared statements. For example, the vulnerable code might look like:

$id = $_GET['ID'];
$query = "SELECT * FROM courses WHERE id = $id";
$result = mysqli_query($conn, $query);

An attacker can inject SQL commands by appending a single quote or other SQL metacharacters to the ID parameter. The database management system (likely MySQL) will execute the attacker's crafted query, allowing data exfiltration, authentication bypass, or even remote code execution via INTO OUTFILE if file permissions allow.

The exploit is publicly available, making it easy for even low-skilled attackers to compromise vulnerable instances.

Vulnerable vs. Patched Code

Vulnerable Code (PHP):

<?php
$id = $_GET['ID'];
$query = "SELECT * FROM courses WHERE id = $id";
$result = mysqli_query($conn, $query);
?>

Patched Code (PHP):

<?php
$id = intval($_GET['ID']);
$stmt = $conn->prepare("SELECT * FROM courses WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();
?>

The patched version uses intval() to ensure the input is an integer and employs prepared statements to prevent SQL injection. Since no official patch exists, this is a recommended fix.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A vulnerable instance of Kashipara Responsive Online Learning Platform 1.0.
  • A tool like sqlmap or manual SQL injection techniques.

Manual Exploit Example:

curl "http://target.com/courses/course_detail_user_new.php?ID=1 UNION SELECT 1,2,3,4,5,6,7,8,9,10-- -"

Automated Exploit with sqlmap:

sqlmap -u "http://target.com/courses/course_detail_user_new.php?ID=1" --batch --dbs

Expected Outcome: The attacker can enumerate databases, tables, and columns, and extract sensitive data such as user credentials.

Blue Team (Defense)

Detection:

  • Monitor web server logs for suspicious GET requests to /courses/course_detail_user_new.php with unusual ID parameters (e.g., containing SQL keywords like UNION, SELECT, --).
  • Use WAF rules to block requests with SQL metacharacters in the ID parameter.

Honeypot:

  • Deploy a decoy instance of the vulnerable platform and log all attempts to exploit the ID parameter.

Incident Response:

  • If exploitation is detected, immediately isolate the affected server, review database logs for unauthorized queries, and rotate all credentials stored in the database.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP GET requests to /courses/course_detail_user_new.php with ID parameter containing SQL injection patterns (e.g., ', UNION, --).
    • Outbound database connections from the web server to unusual IP addresses (data exfiltration).
  • File IOCs:

    • Unexpected files in the web root (e.g., .txt or .sql files created by INTO OUTFILE).
    • Modified PHP files in the /courses/ directory.
  • Log IOCs:

    • Web server logs showing repeated 200 responses to the vulnerable endpoint with long ID parameters.
    • Database logs showing queries with UNION or OR 1=1 patterns.

Detection Engineering

YARA Rule

rule CVE_2025_5214_SQLi_Detection {
    meta:
        description = "Detects SQL injection attempts against CVE-2025-5214"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-5214"
    strings:
        $sqli1 = "UNION" nocase
        $sqli2 = "SELECT" nocase
        $sqli3 = "OR 1=1" nocase
        $sqli4 = "DROP" nocase
        $sqli5 = "admin" nocase
        $path = "/courses/course_detail_user_new.php" nocase
    condition:
        $path and any of ($sqli*)
}

Sigma Rule

title: SQL Injection Attempt Against CVE-2025-5214
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects SQL injection attempts targeting the ID parameter in course_detail_user_new.php
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_log
detection:
    selection:
        cs-uri-query|contains: 
            - "ID="
            - "UNION"
            - "SELECT"
            - "OR 1=1"
            - "DROP"
    condition: selection
falsepositives:
    - Legitimate use of the word "UNION" in a course ID (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-5214 SQL Injection Attempt"; flow:to_server; content:"/courses/course_detail_user_new.php"; http_uri; content:"ID="; http_uri; pcre:"/(UNION|SELECT|OR 1=1|DROP)/Ri"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: If the platform is in use, take it offline or restrict access via firewall rules to trusted IPs only.
  2. Code Fix: Apply the patched code shown above. Replace all instances of direct $_GET['ID'] usage with prepared statements.
  3. WAF Rules: Deploy a Web Application Firewall (e.g., ModSecurity) with rules to block SQL injection patterns.
  4. Input Validation: Implement strict input validation for all parameters, especially numeric IDs.
  5. Vendor Contact: Attempt to contact Kashipara for an official patch. If none is available, consider migrating to a supported alternative.
  6. Monitoring: Enable detailed logging and set up alerts for the IOCs listed above.

Valters IT

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