Cloudanix VulnDB

CVE-2023-27034

Critical · 9.8

CVSS

9.8

EPSS

58.7%

Published

Mar 23, 2023

CISA due date

—

Cloudanix analysis

Next patch cycle SSVC: Attend

A vulnerable online store blog add-on can let outsiders steal or change store database information without logging in.

Weaponized
Exploitation
Remote Unauthenticated
Attacker needs
None
Complexity
Low
Impact
Full Compromise
Component
Application
Class
SQL Injection
Remediation
Upgrade
Effort
Medium
Patch risk
Low

What it actually does

CVE-2023-27034 is an unauthenticated, network-exploitable SQL injection vulnerability in the JoomMasters JMS Blog module for PrestaShop version 2.5.5. Affected application code fails to safely handle user-controlled input before using it in SQL queries, allowing an attacker to alter the intended database query. Depending on database privileges and application configuration, exploitation can allow attackers to read sensitive database contents, modify or delete records, create or change administrative users, extract password hashes or customer data, and potentially disrupt storefront availability.

Why it matters to the business

Successful exploitation can compromise the confidentiality and integrity of an e-commerce store’s database. For organizations using the affected JMS Blog module, this may lead to theft of customer information, credential material, order data, or administrative records; unauthorized changes to product, content, or account data; store defacement; fraud enablement; and downtime from database damage or destructive queries. The CVSS score is critical, exploitation is described as weaponized, and the EPSS score is elevated, indicating meaningful real-world exploitation likelihood even though the issue is not currently listed in CISA KEV.

How an attack unfolds

An attacker identifies a PrestaShop storefront using the vulnerable JoomMasters JMS Blog component, then sends crafted HTTP requests to the blog module containing SQL metacharacters or query fragments in a vulnerable parameter. Because the module does not properly parameterize or sanitize the input, the attacker-controlled data is interpreted by the database as part of the SQL statement rather than as a literal value. The attacker can first use boolean, error-based, time-based, or UNION-based techniques to confirm injection and fingerprint the database, then enumerate tables and columns, dump sensitive records, or alter data. If database permissions are broad, the attacker may modify administrator credentials, create new privileged users, change storefront content, or execute destructive queries causing service disruption.

How to fix it

Upgrade the JoomMasters JMS Blog module to a vendor-fixed release if available, or remove/disable the module if no fixed version is provided. Because no fixed version was supplied in the input, administrators should obtain remediation guidance directly from the module vendor, validate that the installed package is newer than vulnerable version 2.5.5, and confirm that all SQL queries use parameterized statements or framework-safe database APIs. As compensating controls, restrict access to vulnerable blog endpoints where feasible, deploy web application firewall rules for SQL injection patterns, reduce database account privileges used by the application, disable verbose database errors, rotate credentials that may have been exposed, and review administrator accounts and application configuration for unauthorized changes. If exploitation is suspected, treat the database and application credentials as potentially compromised and perform incident response before returning the store to service.

How to confirm the fix worked

Confirm whether the JMS Blog module is installed and identify its exact version from the PrestaShop back office, module files, package metadata, or vendor manifest. Verify that version 2.5.5 is no longer present and that the module has been upgraded, patched, removed, or disabled. Perform authenticated administrative review to ensure module functionality still works after remediation. Use a safe vulnerability scanner or controlled SQL injection test against the previously vulnerable endpoints to confirm that SQL metacharacters are handled as data and do not produce database errors, timing differences, or altered query behavior. Review database permissions to ensure the application account cannot perform unnecessary administrative operations. Confirm that WAF or reverse-proxy rules are logging and blocking common SQL injection probes without disrupting legitimate storefront traffic.

Typical attack path

  1. Scan public PrestaShop sites for evidence of the JoomMasters JMS Blog module or known JMS Blog URL patterns.
  2. Send SQL injection probes to suspected vulnerable blog module endpoints and parameters.
  3. Confirm injection using response differences, database errors, delayed responses, or extracted data.
  4. Enumerate database metadata such as database name, tables, columns, and user privileges.
  5. Extract sensitive data such as administrator credentials, customer records, order data, configuration secrets, or password hashes.
  6. Modify application data, create or change privileged accounts, alter storefront content, or delete records if write access is available.
  7. Use stolen credentials or modified records to maintain access, conduct fraud, pivot into administrative functions, or disrupt store operations.

How to detect it

Review HTTP access logs, WAF/CDN logs, reverse-proxy logs, PrestaShop application logs, PHP error logs, and database logs for requests to JMS Blog module routes containing SQL injection syntax. Focus on unauthenticated requests with parameters containing UNION SELECT, information_schema, sleep/benchmark timing functions, SQL comments, quote characters, encoded SQL keywords, or repeated boolean conditions. Look for database error messages returned to clients or recorded in PHP/web logs, unusual long-running queries, spikes in 500 responses from blog endpoints, large response sizes from blog pages, and repeated enumeration requests from the same source. In database audit logs, look for unexpected SELECTs against metadata tables, dumps of customer/order/employee tables, unauthorized INSERT/UPDATE/DELETE operations, or changes to administrator credentials. Also review PrestaShop back-office audit trails for newly created or modified admin users, unexpected module configuration changes, and content changes following suspicious web requests.

  • UNION SELECT
  • UNION/**/SELECT
  • information_schema
  • SLEEP(
  • BENCHMARK(
  • WAITFOR DELAY
  • OR 1=1
  • AND 1=1
  • OR '1'='1
  • AND '1'='1
  • --
  • %2D%2D
  • /*
  • %2F%2A
  • */
  • %2A%2F
  • @@version
  • database()
  • schema_name
  • table_name
  • column_name
  • jmsblog
  • jms_blog
  • module/jmsblog
  • /modules/jmsblog/
  • SQL syntax
  • mysql_fetch
  • mysqli_fetch
  • PDOException
  • You have an error in your SQL syntax
  • Unknown column
  • Warning: mysql
  • Warning: mysqli
  • information_schema.tables
  • information_schema.columns

What your security team should do

  • Immediately inventory PrestaShop deployments for the JoomMasters JMS Blog module, especially version 2.5.5.
  • Prioritize remediation as critical because the flaw is unauthenticated, remotely exploitable, has a critical CVSS score, elevated EPSS, and weaponized exploit maturity.
  • Upgrade to a vendor-fixed version if available; otherwise disable or remove the JMS Blog module until a patch is confirmed.
  • Search web, WAF, CDN, and application logs for SQL injection probes and successful exploitation indicators targeting JMS Blog endpoints.
  • Review PrestaShop administrator accounts, employee accounts, API credentials, database users, and recent content or configuration changes for unauthorized activity.
  • Rotate database, application, and administrative credentials if logs show suspicious requests or if exposure duration is unknown.
  • Check for data theft indicators, including abnormal database export activity, large responses from blog endpoints, unusual outbound traffic, or repeated enumeration-style requests.
  • Apply least-privilege database permissions for the application account and ensure backups are recent, offline or immutable, and restorable.
  • Add or tune WAF rules to detect and block SQL injection payloads while permanent remediation is completed.
  • Document exposure window from publication and deployment timelines, then determine whether notification, legal, or compliance review is required for possible customer data exposure.

The record

PrestaShop jmsblog 2.5.5 was discovered to contain a SQL injection vulnerability.

Affected packages

Ecosystem Package Introduced Fixed

Related vulnerabilities