Description: An attacker, or any unauthorized user, can send HTTP requests (POST, PUT, PATCH, DELETE) directly to the json-server
API endpoints to create, update, or delete data in the JSON file. This is possible because json-server
has no built-in authentication or authorization mechanisms. An attacker might maliciously alter application data, delete critical records, or inject harmful data.
Impact: Data corruption, data loss, unauthorized modification of application state, potential application malfunction, reputational damage if data integrity is compromised.
Affected Component: json-server
core routing and data handling logic.
Risk Severity: High
Mitigation Strategies:
- Avoid exposing
json-server
to untrusted networks or users. Use it only in isolated development environments. - Implement a reverse proxy (e.g., Nginx, Apache) in front of
json-server
and enforce authentication and authorization at the proxy level. - Restrict network access to the
json-server
instance using firewalls or network segmentation.
Threat: Unauthenticated Data Access
Description: An attacker, or any unauthorized user, can send HTTP GET requests to json-server
API endpoints to read all data stored in the JSON file. Due to the lack of authentication, anyone who can reach the json-server
instance can access all data. An attacker might steal sensitive information, user data, or confidential application details if stored in the JSON file.
Impact: Information disclosure, privacy violation, potential misuse of exposed data, reputational damage, regulatory non-compliance if sensitive data is exposed.
Affected Component: json-server
core routing and data handling logic.
Risk Severity: High
Mitigation Strategies:
- Do not store sensitive or confidential data in the JSON file used by
json-server
, especially if it is accessible outside of a completely trusted development environment. Use dummy or anonymized data instead. - Restrict network access to the
json-server
instance to only trusted networks and users. Use firewalls or network segmentation. - Implement a reverse proxy with authentication and authorization to control access to the
json-server
API.
Description: The most critical misconfiguration is deploying and running json-server
in a production environment. json-server
is explicitly designed for development and prototyping and lacks essential security, performance, and scalability features required for production. This exposes the application to all the aforementioned threats at a much higher risk level.
Impact: Severe security vulnerabilities, data breaches, data loss, application downtime, complete system compromise, significant reputational and financial damage, regulatory penalties.
Affected Component: Entire json-server
instance and the application relying on it.
Risk Severity: Critical
Mitigation Strategies:
- Absolutely avoid using
json-server
in production environments. - Clearly document and communicate that
json-server
is for development and prototyping only. - Implement infrastructure and deployment processes that strictly prevent accidental or intentional deployment of
json-server
to production. Use proper production-grade backend technologies instead.