{"schema":"threatline.record/2","record":{"id":"GHSA-gwrq-q25v-g8mr","aliases":["GHSA-gwrq-q25v-g8mr"],"summary":"Object write with a reserved field name can make reads fail on MongoDB","details":"### Impact\n\nParse Server does not reject reserved internal field names in certain object writes. On deployments that use MongoDB, a client that is allowed to create objects in a class can store an object with a reserved field name that makes every subsequent read of that object fail, which disrupts queries on that class for all users until the field is removed from the database. In addition, a user can clear internal fields on records they are allowed to write, such as the account lockout state or password history of their own account, which circumvents the account lockout and password policy settings for that account. Deployments that use PostgreSQL are affected only by the latter.\n\n### Patches\n\nObject writes from clients that contain reserved internal field names are rejected. Reading an object that contains an unexpected internal field from MongoDB no longer fails; the field is skipped and a warning is logged.\n\n### Workarounds\n\nRegister a `beforeSave` Cloud Code trigger, which may be empty, for every class that clients can write to, including the `_User` class. Parse Server then discards reserved field names from client requests before saving. Objects that already contain an unexpected internal field must be cleaned up by removing that field directly in the MongoDB database.\n\n### References\n\n- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr\n- Fix Parse Server 9: https://github.com/parse-community/parse-server/pull/10763\n- Fix Parse Server 8: https://github.com/parse-community/parse-server/pull/10764\n","categories":["Unclassified"],"product":"parse-server","vendor":"","ecosystem":null,"affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr","source_modified_at":"2026-10-08T19:28:30Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"ecosystem":"npm","name":"parse-server"},"range":">= 9.0.0, < 9.10.4-alpha.3"},{"source":"GitHub Advisory Database","source_url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr","source_modified_at":"2026-10-08T19:28:30Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"ecosystem":"npm","name":"parse-server"},"range":"< 8.6.100"}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr","source_modified_at":"2026-10-08T19:28:30Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"ecosystem":"npm","name":"parse-server"},"version":"9.10.4-alpha.3"},{"source":"GitHub Advisory Database","source_url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr","source_modified_at":"2026-10-08T19:28:30Z","fetched_at":"2026-10-25T16:01:37.004770Z","package":{"ecosystem":"npm","name":"parse-server"},"version":"8.6.100"}],"cvss":6.3,"severity":"Medium","kev":{"listed":false},"epss":{"probability":null,"percentile":null,"score_date":null},"published_at":"2026-10-08T19:28:30Z","modified_at":"2026-10-08T19:28:30Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-gwrq-q25v-g8mr","fetched_at":"2026-10-25T16:01:37.004770Z","source_modified_at":"2026-10-08T19:28:30Z"}],"sources":["GitHub Advisory Database"],"references":[],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":null,"confidence":"unknown","reviewed":false},"change_timestamp":"2026-10-08T19:28:30Z","content_hash":"4374c1802aa8f0f1f3126996b0aac383405a87610f7e238fc44fbed06066de91"}}
