GHSA-qcqv-38jg-2r43 json
Pageflow vulnerable to insecure direct object reference in membership update endpoint
published 4y ago modified last yr.
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- —
- no score, EPSS covers CVEs only
- public exploits
- 0
- none known
Summary
### Impact
Pageflow 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.
### Mitigation
Upgrade to version 15.7.1 or 14.5.2 of the `pageflow` gem.
### For more information
If you have any questions or comments about this advisory email us at info(at)codevise.de
### Credits
[Positive Security](https://positive.security/)
Patch / fix
Is GHSA-qcqv-38jg-2r43 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerAffected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| rubygems | pageflow | <14.5.2 >=15.0.0, <15.7.1 |
14.5.2 15.7.1 |
References
Sources
- GitHub Advisory GHSA-qcqv-38jg-2r43
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.