SourceCodester Customer Review App Denial-of-Service Vulnerability

Vulnerability

A denial-of-service vulnerability has been identified in SourceCodester Customer Review App version 1.0. The issue arises in the file review_app.py, specifically within the functions add_review, save_review, and get_all_reviews. The vulnerability is caused by improper input validation, allowing a local attacker to manipulate the name and comment fields. This exploitation can lead to excessive disk space usage or corruption of the reviews data, causing the application to lag, freeze, or silently lose all review information without any user notification.

Impact

Exploitation of this vulnerability can cause the application to consume excessive disk space, leading to performance degradation or unresponsiveness. Additionally, it can result in silent data loss by corrupting the reviews.json file, causing all stored review data to be lost without any warning to the user.

Reproduction

The vulnerability can be reproduced by submitting a review with an excessively large name and comment. This can be done by manually entering the information or by using a script that automates the process. The application will then lag or freeze when loading the reviews due to the unbounded data. Alternatively, the reviews.json file can be manually corrupted by writing invalid JSON data into it, which will also cause the application to lose all review data and return an empty list, indicating data loss.

Remediation

To address this vulnerability, input length validation should be implemented to restrict the size of the name and comment fields. Additionally, the application should replace the bare except clause in the get_all_reviews function with specific exception handling to avoid silently suppressing errors.

Added: Jun 1, 2026, 11:35 PM
Updated: Jun 1, 2026, 11:35 PM

Vulnerability Rating

Custom Algorithm
spread
0.0
impact
2.5
exploitability
4.6
remediation
0.0
relevance
9.7
threat
6.4
urgency
2.9
incentive
0.0

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.