gsd-2022-39225
Vulnerability from gsd
Modified
2023-12-13 01:19
Details
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.
Aliases
Aliases
{ "GSD": { "alias": "CVE-2022-39225", "description": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.", "id": "GSD-2022-39225" }, "gsd": { "metadata": { "exploitCode": "unknown", "remediation": "unknown", "reportConfidence": "confirmed", "type": "vulnerability" }, "osvSchema": { "aliases": [ "CVE-2022-39225" ], "details": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.", "id": "GSD-2022-39225", "modified": "2023-12-13T01:19:20.556514Z", "schema_version": "1.4.0" } }, "namespaces": { "cve.org": { "CVE_data_meta": { "ASSIGNER": "security-advisories@github.com", "ID": "CVE-2022-39225", "STATE": "PUBLIC", "TITLE": "Parse Server subject to Incorrect Resource Transfer Between Spheres" }, "affects": { "vendor": { "vendor_data": [ { "product": { "product_data": [ { "product_name": "parse-server", "version": { "version_data": [ { "version_value": "\u003c 4.10.15" }, { "version_value": "\u003e= 5.0.0, \u003c 5.2.6" } ] } } ] }, "vendor_name": "parse-community" } ] } }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "eng", "value": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object." } ] }, "impact": { "cvss": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 4.3, "baseSeverity": "MEDIUM", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N", "version": "3.1" } }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "eng", "value": "CWE-669: Incorrect Resource Transfer Between Spheres" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp", "refsource": "CONFIRM", "url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp" } ] }, "source": { "advisory": "GHSA-6w4q-23cf-j9jp", "discovery": "UNKNOWN" } }, "gitlab.com": { "advisories": [ { "affected_range": "\u003c4.10.15||\u003e=5.0.0 \u003c5.2.6", "affected_versions": "All versions before 4.10.15, all versions starting from 5.0.0 before 5.2.6", "cvss_v3": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N", "cwe_ids": [ "CWE-1035", "CWE-669", "CWE-937" ], "date": "2022-09-28", "description": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.", "fixed_versions": [ "4.10.15", "5.2.6" ], "identifier": "CVE-2022-39225", "identifiers": [ "CVE-2022-39225", "GHSA-6w4q-23cf-j9jp", "GMS-2022-4383" ], "not_impacted": "All versions starting from 4.10.15 before 5.0.0, all versions starting from 5.2.6", "package_slug": "npm/parse-server", "pubdate": "2022-09-23", "solution": "Upgrade to versions 4.10.15, 5.2.6 or above.", "title": "Incorrect Resource Transfer Between Spheres", "urls": [ "https://nvd.nist.gov/vuln/detail/CVE-2022-39225", "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp", "https://github.com/parse-community/parse-server/commit/37fed3062ccc3ef1dfd49a9fc53318e72b3e4aff", "https://github.com/parse-community/parse-server/releases/tag/4.10.15", "https://github.com/parse-community/parse-server/releases/tag/5.2.6", "https://github.com/advisories/GHSA-6w4q-23cf-j9jp" ], "uuid": "f71e6fec-695f-457a-8565-65e47f9d8dcd" }, { "affected_range": "\u003c0", "affected_versions": "All versions before 4.10.15, all versions starting from 5.0.0 before 5.2.6", "cwe_ids": [ "CWE-1035", "CWE-937" ], "date": "2022-09-21", "description": "### Impact\n\nA foreign user can write to the session object of another user if the session object ID is known. For example, a foreign user can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object.\n\nNote that assigning a session to a foreign user does not usually change the privileges of neither of the two users, according to how Parse Server uses session objects internally. However, if custom logic is used to relate specific session objects to privileges this vulnerability may have a higher level of severity.\n\nThe vulnerability does not allow a foreign user to assign a session object to themselves, read the session token, and then reassign the session object to the original user to then authenticate as that user with the known session token. The vulnerability only exists for foreign session objects, a user cannot assign their own session to another user.\n\nWhile it is unlikely that the session object ID of another user is known, it is possible to brute-force guess an object ID, even though the attacker would not know to which user a successfully guessed session object ID belongs.\n\n### Patches\n\nThe fix prevents writing to foreign session objects, even if the session object ID is known.\n\n### Workarounds\n\nAdd a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object.\n\n### References\n\n- GitHub advisory [GHSA-6w4q-23cf-j9jp](https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp)", "fixed_versions": [ "4.10.15", "5.2.6" ], "identifier": "GMS-2022-4383", "identifiers": [ "GHSA-6w4q-23cf-j9jp", "GMS-2022-4383", "CVE-2022-39225" ], "not_impacted": "All versions starting from 4.10.15 before 5.0.0, all versions starting from 5.2.6", "package_slug": "npm/parse-server", "pubdate": "2022-09-21", "solution": "Upgrade to versions 4.10.15, 5.2.6 or above.", "title": "Duplicate of ./npm/parse-server/CVE-2022-39225.yml", "urls": [ "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp", "https://github.com/parse-community/parse-server/commit/37fed3062ccc3ef1dfd49a9fc53318e72b3e4aff", "https://github.com/parse-community/parse-server/releases/tag/4.10.15", "https://github.com/parse-community/parse-server/releases/tag/5.2.6", "https://github.com/advisories/GHSA-6w4q-23cf-j9jp" ], "uuid": "84cd0e52-3195-4b21-9080-c169b244276d" } ] }, "nvd.nist.gov": { "configurations": { "CVE_data_version": "4.0", "nodes": [ { "children": [], "cpe_match": [ { "cpe23Uri": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*", "cpe_name": [], "versionEndExcluding": "5.2.6", "versionStartIncluding": "5.0.0", "vulnerable": true }, { "cpe23Uri": "cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:node.js:*:*", "cpe_name": [], "versionEndExcluding": "4.10.15", "vulnerable": true } ], "operator": "OR" } ] }, "cve": { "CVE_data_meta": { "ASSIGNER": "security-advisories@github.com", "ID": "CVE-2022-39225" }, "data_format": "MITRE", "data_type": "CVE", "data_version": "4.0", "description": { "description_data": [ { "lang": "en", "value": "Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. In versions prior to 4.10.15, or 5.0.0 and above prior to 5.2.6, a user can write to the session object of another user if the session object ID is known. For example, an attacker can assign the session object to their own user by writing to the `user` field and then read any custom fields of that session object. Note that assigning a session to another user does not usually change the privileges of either of the two users, and a user cannot assign their own session to another user. This issue is patched in version 4.10.15 and above, and 5.2.6 and above. To mitigate this issue in unpatched versions add a `beforeSave` trigger to the `_Session` class and prevent writing if the requesting user is different from the user in the session object." } ] }, "problemtype": { "problemtype_data": [ { "description": [ { "lang": "en", "value": "CWE-669" } ] } ] }, "references": { "reference_data": [ { "name": "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp", "refsource": "CONFIRM", "tags": [ "Third Party Advisory" ], "url": "https://github.com/parse-community/parse-server/security/advisories/GHSA-6w4q-23cf-j9jp" } ] } }, "impact": { "baseMetricV3": { "cvssV3": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 3.1, "baseSeverity": "LOW", "confidentialityImpact": "NONE", "integrityImpact": "LOW", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N", "version": "3.1" }, "exploitabilityScore": 1.6, "impactScore": 1.4 } }, "lastModifiedDate": "2022-09-28T13:50Z", "publishedDate": "2022-09-23T07:15Z" } } }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…