GHSA-qcqv-38jg-2r43 Pageflow vulnerable to insecure direct object reference in membership update endpoint

Not scored Published

Attackers with manager roles can modify membership associations to compromise other accounts via insecure direct object reference.

Exploited in the wild
Not known
Login needed
Any signed-in user
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is GHSA-qcqv-38jg-2r43?

GHSA-qcqv-38jg-2r43 is a missing authorization vulnerability in pageflow, published on 15 Sep 2022. Any signed-in user can exploit it over the network, with no action from the victim.

Official description

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_ids 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

Which versions are affected by GHSA-qcqv-38jg-2r43?

4 open source packages ship an affected version, including pageflow.

PackageAffectedFixed in
pageflow RubyGemsAll versions14.5.2
pageflow RubyGemsAll versions14.5.2
pageflow RubyGemsFrom 15.0.015.7.1
pageflow RubyGemsFrom 15.0.015.7.1

How do I fix GHSA-qcqv-38jg-2r43?

Upgrade pageflow to a fixed version for your release line: 14.5.2 or 15.7.1.

Upgrade, and check permissions on every request on the server, not only in the interface. More about Missing authorization.

Is GHSA-qcqv-38jg-2r43 being exploited?

There is no known exploitation of GHSA-qcqv-38jg-2r43 in the wild and no public exploit code.

Sources

Is GHSA-qcqv-38jg-2r43 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free