CVE-2025-7197
📋 TL;DR
This critical SQL injection vulnerability in Jonnys Liquor 1.0 allows remote attackers to execute arbitrary SQL commands via the ID parameter in /admin/delete-row.php. Attackers can potentially read, modify, or delete database content. All users running Jonnys Liquor 1.0 with the vulnerable file accessible are affected.
💻 Affected Systems
- Jonnys Liquor
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Complete database compromise including data theft, data destruction, and potential remote code execution if database functions allow it.
Likely Case
Unauthorized data access, modification, or deletion of liquor inventory, user accounts, and administrative data.
If Mitigated
Limited impact with proper input validation and database permissions restricting damage to non-critical data.
🎯 Exploit Status
Exploit details are publicly disclosed. Attack requires access to the admin interface but SQL injection is straightforward once authenticated.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Unknown
Vendor Advisory: https://code-projects.org/
Restart Required: No
Instructions:
No official patch available. Consider implementing input validation and parameterized queries in /admin/delete-row.php or removing the vulnerable file.
🔧 Temporary Workarounds
Remove vulnerable file
linuxDelete or rename the vulnerable delete-row.php file to prevent exploitation
mv /path/to/admin/delete-row.php /path/to/admin/delete-row.php.disabled
rm /path/to/admin/delete-row.php
Implement input validation
allAdd input validation to ensure ID parameter contains only numeric values
🧯 If You Can't Patch
- Implement web application firewall (WAF) rules to block SQL injection patterns targeting /admin/delete-row.php
- Restrict access to /admin/ directory to trusted IP addresses only using .htaccess or server configuration
🔍 How to Verify
Check if Vulnerable:
Check if /admin/delete-row.php exists and contains unsanitized $_GET or $_POST parameters used in SQL queries without parameterization.
Check Version:
Check application documentation or configuration files for version information. No standard command available.
Verify Fix Applied:
Test the delete functionality with SQL injection payloads (e.g., ' OR '1'='1) to confirm proper input validation or parameterized queries are implemented.
📡 Detection & Monitoring
Log Indicators:
- Unusual SQL errors in application logs
- Multiple failed delete attempts with malformed ID parameters
- Requests to /admin/delete-row.php with SQL keywords in parameters
Network Indicators:
- HTTP requests to /admin/delete-row.php containing SQL injection patterns (UNION, SELECT, etc.)
SIEM Query:
source="web_logs" AND uri="/admin/delete-row.php" AND (query="*UNION*" OR query="*SELECT*" OR query="*OR*1*" OR query="*--*" OR query="*;*" OR query="*'*'*'*")