diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 0000000..67497bb --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,267 @@ + Stored Cross-Site Scripting in the Map view (`/map`) via unescaped `latitude` / `longitude` in a JavaScript context + +- **Product:** [ResidenceCMS](https://github.com/Coderberg/ResidenceCMS) (`coderberg/residence-cms`) — Open Source Property Management System built with Symfony +- **Vulnerability type:** Stored (persistent) Cross-Site Scripting — CWE-79, CWE-116 +- **Vulnerable component:** `templates/property/map.html.twig`, line 41 +- **Affected endpoint:** `GET /{locale}/map` (route `map_view`) — public, unauthenticated +- **Injection point:** `property[latitude]` / `property[longitude]` form fields (property create / edit) +- **Privileges required to inject:** any registered, e-mail-verified user (`ROLE_USER`) +- **Privileges required to be affected:** none — any visitor, including administrators +- **CVSS v3.1:** 5.4 (Medium) — `CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N` +- **Status:** unpatched in the latest release (v2.11.3) + +--- + +## Summary + +ResidenceCMS renders every published property's `latitude` and `longitude` directly into an inline +`