{"url":"http://public2.vulnerablecode.io/api/packages/383220?format=json","purl":"pkg:gem/pageflow@14.0.0.rc1","type":"gem","namespace":"","name":"pageflow","version":"14.0.0.rc1","qualifiers":{},"subpath":"","is_vulnerable":true,"next_non_vulnerable_version":null,"latest_non_vulnerable_version":null,"affected_by_vulnerabilities":[{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/49531?format=json","vulnerability_id":"VCID-541u-xyqp-b7c9","summary":"Pageflow vulnerable to insecure direct object reference in membership update endpoint\n### Impact\n\nPageflow has a membership edit feature which allows users to edit the roles of user memberships associated with an account that they have the `manager` role to (including their own). While the `Entity` dropdown select field is greyed out in the UI, an attacker can use tools which allow sending arbitrary HTTP request to craft a request to the `/admin/users/{user_id}/memberships/{membership_id}` endpoint containing an additional `membership[entity_id]` parameter. This parameter is honored when the membership is updated, allowing an attacker to update the membership object associated with their own account (with `manager` role) to be associated with a different attacker-chosen account instead. Since `account_id`s are enumerable, an attacker can compromise all accounts present on the platform.\n\n### Mitigation\n\nUpgrade to version 15.7.1 or 14.5.2 of the `pageflow` gem.\n\n### For more information\n\nIf you have any questions or comments about this advisory email us at info(at)codevise.de \n\n### Credits\n\n[Positive Security](https://positive.security/)","references":[{"reference_url":"https://github.com/codevise/pageflow","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow"},{"reference_url":"https://github.com/codevise/pageflow/pull/1862","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow/pull/1862"},{"reference_url":"https://github.com/codevise/pageflow/security/advisories/GHSA-qcqv-38jg-2r43","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow/security/advisories/GHSA-qcqv-38jg-2r43"},{"reference_url":"https://github.com/advisories/GHSA-qcqv-38jg-2r43","reference_id":"GHSA-qcqv-38jg-2r43","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-qcqv-38jg-2r43"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/85410?format=json","purl":"pkg:gem/pageflow@14.5.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-541u-xyqp-b7c9"},{"vulnerability":"VCID-qr28-tk7e-gqbk"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/pageflow@14.5.2"},{"url":"http://public2.vulnerablecode.io/api/packages/85412?format=json","purl":"pkg:gem/pageflow@15.7.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-541u-xyqp-b7c9"},{"vulnerability":"VCID-qr28-tk7e-gqbk"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/pageflow@15.7.1"}],"aliases":["GHSA-qcqv-38jg-2r43"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-541u-xyqp-b7c9"},{"url":"http://public2.vulnerablecode.io/api/vulnerabilities/49437?format=json","vulnerability_id":"VCID-qr28-tk7e-gqbk","summary":"Pageflow vulnerable to sensitive user data extraction via Ransack query injection\n### Impact\n\nThe attack allows extracting sensitive properties of database objects that are associated with users or entries belonging to an account that the attacker has access to.\n\nPageflow uses the `ActiveAdmin` Ruby library to provide some management features to its users. `ActiveAdmin` relies on the `Ransack` library to implement search functionality. In its default configuration, `Ransack` will allow for query conditions based on properties of associated database objects [1]. The `*_starts_with`, `*_ends_with` or `*_contains` search matchers [2] can then be abused to exfiltrate sensitive string values of associated database objects via character-by-character brute-force.\n\n[1] https://activerecord-hackery.github.io/ransack/going-further/associations/\n[2] https://activerecord-hackery.github.io/ransack/getting-started/search-matches/\n\n### Mitigation\n\nUpgrade to version 15.7.1 or 14.5.2 of the `pageflow` gem.\n\n### For more information\n\nIf you have any questions or comments about this advisory email us at info(at)codevise.de \n\n### Credits\n\n[Positive Security](https://positive.security/)","references":[{"reference_url":"https://github.com/codevise/pageflow","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow"},{"reference_url":"https://github.com/codevise/pageflow/pull/1862","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow/pull/1862"},{"reference_url":"https://github.com/codevise/pageflow/security/advisories/GHSA-wrrw-crp8-979q","reference_id":"","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""},{"value":"HIGH","scoring_system":"generic_textual","scoring_elements":""}],"url":"https://github.com/codevise/pageflow/security/advisories/GHSA-wrrw-crp8-979q"},{"reference_url":"https://github.com/advisories/GHSA-wrrw-crp8-979q","reference_id":"GHSA-wrrw-crp8-979q","reference_type":"","scores":[{"value":"HIGH","scoring_system":"cvssv3.1_qr","scoring_elements":""}],"url":"https://github.com/advisories/GHSA-wrrw-crp8-979q"}],"fixed_packages":[{"url":"http://public2.vulnerablecode.io/api/packages/85410?format=json","purl":"pkg:gem/pageflow@14.5.2","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-541u-xyqp-b7c9"},{"vulnerability":"VCID-qr28-tk7e-gqbk"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/pageflow@14.5.2"},{"url":"http://public2.vulnerablecode.io/api/packages/85412?format=json","purl":"pkg:gem/pageflow@15.7.1","is_vulnerable":true,"affected_by_vulnerabilities":[{"vulnerability":"VCID-541u-xyqp-b7c9"},{"vulnerability":"VCID-qr28-tk7e-gqbk"}],"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/pageflow@15.7.1"}],"aliases":["GHSA-wrrw-crp8-979q"],"risk_score":null,"exploitability":null,"weighted_severity":null,"resource_url":"http://public2.vulnerablecode.io/vulnerabilities/VCID-qr28-tk7e-gqbk"}],"fixing_vulnerabilities":[],"risk_score":null,"resource_url":"http://public2.vulnerablecode.io/packages/pkg:gem/pageflow@14.0.0.rc1"}