Conversation
I have added new Scenario based on the description of the A7. Please disregard the closed PR initially made to master branch
|
Tagging this as pending community feedback. This adds new content (a scenario) rather than a wording fix, so per CONTRIBUTING.md it needs discussion before merging. Could you open an issue describing the proposed scenario so the community can weigh in on fit and placement? Happy to link this PR to it once opened. |
nouraellm
left a comment
There was a problem hiding this comment.
Thanks for the scenario and for opening the PR. The idea (a dev API left reachable) is valid but the current write-up does not currently demonstrate Security Misconfiguration.
A missing firewall rule explains why dev.e-commerce.com is reachable yet it does not explain why the response contains extra properties because those fields usually come from application or environment configuration.
Extra product attributes (product_discount, product_next_discount_date) also read as excessive data exposure / BOPLA not as a hardening failure. Compared with Scenario 1 and 2 the impact is too weak.
Please keep the production vs development contrast and change what differs, the development host should show an actual misconfiguration, for example debug enabled, stack traces or connection details in errors, docs/admin left on, or default credentials. That would better match this section. Two extra catalog fields do not.
Suggestion
Please keep ``` for code examples, it's not possible when using code suggestion in reviews.
### Scenario #3
An e-commerce application serves the same product API from production and from a development environment. The development host is published on the internet, and that deployment runs with debug mode enabled.
A client requests a product from production:
GET /api/product?id=1234
Host: www.e-commerce.com
HTTP/1.1 200 OK
{
"product_id": 1234,
"product_price": "100.00",
"product_seller": "ABC"
}
The same request against the development host triggers an error. Because debug mode is enabled, the API returns internal details:
GET /api/product?id=1234
Host: dev.e-commerce.com
HTTP/1.1 500 Internal Server Error
{
"error": "NullPointerException at PricingService.java:214",
"connection": "postgres://api:api@10.0.4.12:5432/catalog"
}
An attacker uses the exposed development endpoint to obtain stack traces and sensitive database connection credentials.
@ErezYalon Could you please confirm whether this revised scenario is appropriate?
I have added new Scenario based on the description of the A7. Please disregard the closed PR initially made to master branch