{"items":[{"id":"NVI-00003122","kind":"vulnerability","title":"Winter: My Account preview exposes another backend user's profile by record ID","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mpmw-f6h6-3g26"],"plain_summary":"GitHub lists this reviewed advisory for winter/wn-backend-module. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-0b3cfeefaae7518c15f0d8882909139f"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null},{"summary":"The original advisory lists fixed boundaries 1.2.14 for winter/wn-backend-module. Confirm the publisher’s latest guidance.","source_ids":["sr-334689cd4d3279a3a98e658c4b8573d7"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-08-20T18:44:49.000Z","value":"4.3 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-0b3cfeefaae7518c15f0d8882909139f"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-0b3cfeefaae7518c15f0d8882909139f","url":"https://github.com/advisories/GHSA-mpmw-f6h6-3g26","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-mpmw-f6h6-3g26","publisher":"GitHub Advisory Database","observed_at":"2026-11-02T09:56:46.713Z"},{"id":"sr-334689cd4d3279a3a98e658c4b8573d7","url":"https://github.com/advisories/GHSA-mpmw-f6h6-3g26","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-mpmw-f6h6-3g26","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:30.982Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-0b3cfeefaae7518c15f0d8882909139f"],"technology":"winter/wn-backend-module","known_exclusions":[],"conditions_summary":"### Impact\n\n`Backend\\Controllers\\MyAccount`, introduced in v1.2.13, declares an empty `$requiredPermissions` array so that any authenticated backend user can manage their own account. It implements the `FormController` behavior, which exposes three routable actions — `create`, `update` and `preview` — that each take a record id from the URL.\n\n`index()` passes the authenticated user's own id to the behavior, but the inherited actions were left routable and `formFindModelObject()` was not scoped, so a caller-supplied id resolved against an unscoped `Backend\\Models\\User` query:\n\n```\nGET /backend/backend/myaccount/preview/{other_user_id}\n```\n\n`preview` disclosed the target user's first name, last name, login, email address and avatar; `update` was equally routable and additionally disclosed role, group membership, superuser flag and throttle state. Password controls render a mask, so no credential material was exposed. Backend user ids are sequential and trivially enumerated, and as these are `GET` actions no CSRF token is involved.\n\nThe behavior's AJAX handlers (`create_onSave`, `update_onSave`, `update_onDelete`) were also dispatchable on these routes, but cross-user writes were bloc","public_affected_ranges":["= 1.2.13"]},{"certainty":"source_listed","source_ids":["sr-334689cd4d3279a3a98e658c4b8573d7"],"technology":"winter/wn-backend-module","known_exclusions":[],"conditions_summary":"### Impact\n\n`Backend\\Controllers\\MyAccount`, introduced in v1.2.13, declares an empty `$requiredPermissions` array so that any authenticated backend user can manage their own account. It implements the `FormController` behavior, which exposes three routable actions — `create`, `update` and `preview` — that each take a record id from the URL.\n\n`index()` passes the authenticated user's own id to the behavior, but the inherited actions were left routable and `formFindModelObject()` was not scoped, so a caller-supplied id resolved against an unscoped `Backend\\Models\\User` query:\n\n```\nGET /backend/backend/myaccount/preview/{other_user_id}\n```\n\n`preview` disclosed the target user's first name, last name, login, email address and avatar; `update` was equally routable and additionally disclosed role, group membership, superuser flag and throttle state. Password controls render a mask, so no credential material was exposed. Backend user ids are sequential and trivially enumerated, and as these are `GET` actions no CSRF token is involved.\n\nThe behavior's AJAX handlers (`create_onSave`, `update_onSave`, `update_onDelete`) were also dispatchable on these routes, but cross-user writes were bloc","public_affected_ranges":["ECOSYSTEM: introduced 1.2.13; fixed 1.2.14"]}],"null_published_at":"2026-11-02T10:00:37.156Z","source_updated_at":"2026-08-20T18:44:49.000Z","source_disclosed_at":"2026-08-20T18:44:45.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T21:42:30.982Z"},{"id":"NVI-00003122","kind":"vulnerability","title":"Winter: My Account preview exposes another backend user's profile by record ID","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-mpmw-f6h6-3g26"],"plain_summary":"OSV carries this publisher advisory for winter/wn-backend-module. This is an aggregated source copy; consult the original publisher and compare update dates.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"The original advisory lists fixed boundaries 1.2.14 for winter/wn-backend-module. Confirm the publisher’s latest guidance.","source_ids":["sr-334689cd4d3279a3a98e658c4b8573d7"],"action_type":"vendor_patch","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-334689cd4d3279a3a98e658c4b8573d7","url":"https://github.com/advisories/GHSA-mpmw-f6h6-3g26","basis":"vendor_advisory","notes":"GitHub-origin advisory, CC-BY-4.0; OSV is an aggregate copy, not independent corroboration.","title":"GHSA-mpmw-f6h6-3g26","publisher":"GitHub Advisory Database via OSV","observed_at":"2026-10-31T21:42:30.982Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-334689cd4d3279a3a98e658c4b8573d7"],"technology":"winter/wn-backend-module","known_exclusions":[],"conditions_summary":"### Impact\n\n`Backend\\Controllers\\MyAccount`, introduced in v1.2.13, declares an empty `$requiredPermissions` array so that any authenticated backend user can manage their own account. It implements the `FormController` behavior, which exposes three routable actions — `create`, `update` and `preview` — that each take a record id from the URL.\n\n`index()` passes the authenticated user's own id to the behavior, but the inherited actions were left routable and `formFindModelObject()` was not scoped, so a caller-supplied id resolved against an unscoped `Backend\\Models\\User` query:\n\n```\nGET /backend/backend/myaccount/preview/{other_user_id}\n```\n\n`preview` disclosed the target user's first name, last name, login, email address and avatar; `update` was equally routable and additionally disclosed role, group membership, superuser flag and throttle state. Password controls render a mask, so no credential material was exposed. Backend user ids are sequential and trivially enumerated, and as these are `GET` actions no CSRF token is involved.\n\nThe behavior's AJAX handlers (`create_onSave`, `update_onSave`, `update_onDelete`) were also dispatchable on these routes, but cross-user writes were bloc","public_affected_ranges":["ECOSYSTEM: introduced 1.2.13; fixed 1.2.14"]}],"null_published_at":"2026-10-31T22:12:38.475Z","source_updated_at":"2026-08-20T19:00:08.482Z","source_disclosed_at":"2026-08-20T18:44:45.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T21:42:30.982Z"}],"next_cursor":null,"snapshot_revision":"42594"}