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

CVE-2025-12287

CVE-2025-12287 SQL Injection in Bdtask
📅 PUBLISHED: 2025-10-27 14:32 UTC 🔄 UPDATED: 2026-08-18 17:14 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.42%
👁️
0.42% probability
10.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
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.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-12287 is a publicly disclosed SQL injection vulnerability affecting Bdtask Wholesale Inventory Control and Inventory Management System up to version 20251013. The flaw resides in the /Admin_dashboard/edit_profile endpoint, where the first_name and last_name parameters are not properly sanitized, allowing an authenticated attacker to inject arbitrary SQL commands. With a CVSS score of 4.7 (Medium), the vulnerability requires administrative privileges but can be exploited remotely. The vendor has been contacted and has not responded, leaving the product in an unpatched state. This report provides a full technical breakdown, detection rules, and exploitation guidance for both Red and Blue teams.

⚡ 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:H/UI:N/S:U/C:L/I:L/A:L
  • Base Score: 4.7 (Medium)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: High (PR:H) – Attacker must have admin credentials.
  • User Interaction: None (UI:N) – No user action needed.
  • Scope: Unchanged (S:U) – Vulnerability does not affect other components.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited data modification.
  • Availability Impact: Low (A:L) – Limited service disruption.

Threat Level: Medium. While the CVSS score is moderate, the public availability of exploit details and the lack of a vendor patch elevate the risk for organizations using this software.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the profile update functionality. The application constructs SQL queries by directly concatenating user-supplied input from the first_name and last_name POST parameters without proper sanitization or parameterized queries. An authenticated admin can inject SQL commands that are executed against the backend database (likely MySQL/MariaDB).

Vulnerable Code Snippet (Conceptual):

// Vulnerable: Direct concatenation
$sql = "UPDATE users SET first_name = '" . $_POST['first_name'] . "', last_name = '" . $_POST['last_name'] . "' WHERE id = " . $_SESSION['user_id'];
mysqli_query($conn, $sql);

Attack Flow:

  1. Attacker logs in with admin credentials.
  2. Navigates to /Admin_dashboard/edit_profile.
  3. Intercepts the POST request (e.g., using Burp Suite).
  4. Modifies the first_name or last_name parameter to include a SQL injection payload.
  5. The payload is executed, allowing data extraction, modification, or potential privilege escalation.

Example Payload:

first_name=test' UNION SELECT username,password FROM users-- -

Vulnerable vs. Patched Code

Vulnerable Code (PHP):

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$sql = "UPDATE users SET first_name = '$first_name', last_name = '$last_name' WHERE id = $user_id";
$result = mysqli_query($conn, $sql);

Patched Code (Using Prepared Statements):

$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$stmt = $conn->prepare("UPDATE users SET first_name = ?, last_name = ? WHERE id = ?");
$stmt->bind_param("ssi", $first_name, $last_name, $user_id);
$stmt->execute();

The patched version uses parameterized queries, which separate SQL logic from data, preventing injection.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Admin credentials for the Bdtask Wholesale Inventory Control system.
  • Network access to the web interface.
  • A tool like Burp Suite, cURL, or SQLMap.

Manual Exploitation Steps:

  1. Log in as admin.
  2. Navigate to /Admin_dashboard/edit_profile.
  3. Intercept the POST request.
  4. Modify the first_name parameter:
    first_name=test' OR '1'='1' -- -
    
  5. Observe if the profile updates without error (indicating injection success).

Automated Exploitation with SQLMap:

sqlmap -u "http://target.com/Admin_dashboard/edit_profile" --data="first_name=test&last_name=test" --cookie="PHPSESSID=your_session_cookie" --level=5 --risk=3 --batch

Extract Database Information:

sqlmap -u "http://target.com/Admin_dashboard/edit_profile" --data="first_name=test&last_name=test" --cookie="PHPSESSID=your_session_cookie" --dbs

Blue Team

Detection Steps:

  1. Monitor web server logs for suspicious POST requests to /Admin_dashboard/edit_profile containing SQL keywords (e.g., UNION, SELECT, OR, --).
  2. Enable database query logging to capture injected SQL statements.
  3. Use a Web Application Firewall (WAF) to block common SQL injection patterns.
  4. Implement input validation and parameterized queries as a permanent fix.

Lab Setup for Testing:

  • Install Bdtask Wholesale Inventory Control (version 20251013) on a local server (e.g., XAMPP).
  • Create an admin account.
  • Use Burp Suite to intercept and modify requests.
  • Test with payloads like ' OR '1'='1' -- - to confirm vulnerability.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • POST requests to /Admin_dashboard/edit_profile with unusual characters in first_name or last_name (e.g., ', --, UNION).
    • HTTP responses containing database error messages (e.g., "You have an error in your SQL syntax").
  • File IOCs:
    • Modified user profile data in the database (e.g., unexpected values in first_name or last_name columns).
    • New admin accounts created via SQL injection.
  • Log IOCs:
    • Web server logs showing repeated requests to /Admin_dashboard/edit_profile from the same IP.
    • Database logs showing unusual queries like UNION SELECT or OR '1'='1'.

Detection Engineering

YARA Rule

rule CVE_2025_12287_SQLi_Profile {
    meta:
        description = "Detects SQL injection attempts targeting Bdtask Wholesale Inventory Control edit_profile endpoint"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-12287"
    strings:
        $s1 = "/Admin_dashboard/edit_profile" nocase
        $s2 = "first_name=" nocase
        $s3 = "last_name=" nocase
        $sqli1 = /['\"]\s*(OR|AND|UNION|SELECT|INSERT|UPDATE|DELETE|DROP|--|#)/i
    condition:
        all of ($s1, $s2, $s3) and any of ($sqli1)
}

Sigma Rule

title: SQL Injection Attempt on Bdtask Wholesale Inventory Control
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects SQL injection attempts in POST requests to /Admin_dashboard/edit_profile
author: Valters IT
date: 2025-04-10
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2025-12287
logsource:
    category: webserver
    product: apache
    service: http
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: '/Admin_dashboard/edit_profile'
    keywords:
        - 'first_name='
        - 'last_name='
    sqli_patterns:
        - ' OR '
        - ' AND '
        - ' UNION '
        - ' SELECT '
        - ' -- '
        - ' # '
        - "'"
    condition: selection and keywords and sqli_patterns
falsepositives:
    - Legitimate use of apostrophes in names (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-12287 SQL Injection Attempt on Bdtask Wholesale Inventory Control";
    flow:to_server,established;
    content:"POST";
    http_method;
    content:"/Admin_dashboard/edit_profile";
    http_uri;
    content:"first_name=";
    http_client_body;
    pcre:"/(?:'|\")\s*(?:OR|AND|UNION|SELECT|INSERT|UPDATE|DELETE|DROP|--|#)/i";
    sid:1000001;
    rev:1;
    priority:2;
    reference:cve,2025-12287;
    classtype:web-application-attack;
)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the system: If possible, disconnect the vulnerable application from the network until a patch is applied.
  2. Restrict access: Limit admin access to trusted IPs only using firewall rules.
  3. Monitor logs: Actively monitor web and database logs for signs of exploitation.

Long-Term Fix:

  • Apply parameterized queries: Rewrite all database interactions to use prepared statements (as shown in the patched code section).
  • Input validation: Implement strict server-side validation for all input fields, especially those used in SQL queries.
  • Update software: If the vendor releases a patch, apply it immediately. If not, consider migrating to an alternative inventory management system.

Workaround:

  • Use a Web Application Firewall (WAF) with rules to block SQL injection patterns.
  • Implement a reverse proxy that inspects and sanitizes POST data before it reaches the application.

Valters IT

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