[BAC] Improper Authorization in Public Facebook Groups
好的,我现在需要帮用户总结一篇文章的内容,控制在100字以内。用户给了一篇关于Facebook群组访问控制漏洞的文章。首先,我得仔细阅读文章,理解主要信息。 文章讲的是测试Facebook群组的访问控制机制时发现的问题。假设每个角色有明确的权限,但测试发现 moderators 可以绕过前端限制,通过GraphQL请求修改敏感设置。具体来说,moderators 可以改变“谁可以参与群组”的设置,这本该是管理员的权限。 漏洞的影响包括违反RBAC原则,削弱管理员的控制权,并可能被滥用来改变群组规则或破坏互动。修复过程从2025年12月到2026年3月完成,并获得了奖金。 接下来,我需要将这些关键点浓缩到100字以内。要涵盖发现漏洞的过程、漏洞的影响、以及修复时间。同时,语言要简洁明了。 可能的结构:在测试Facebook群组访问控制时发现漏洞,moderators能绕过前端限制通过GraphQL修改敏感设置,导致违反RBAC原则和滥用风险。修复于2026年完成。 检查字数是否在限制内,并确保没有使用“文章内容总结”等开头语。 </think> 在测试 Facebook 群组访问控制时发现漏洞:尽管前端限制了 moderator 访问敏感设置,但 backend 缺乏验证,允许 moderator 通过 GraphQL 请求修改“谁可以参与群组”设置。此漏洞违反 RBAC 原则并可能被滥用。修复于 2026 年完成。 2026-4-1 06:31:46 Author: infosecwriteups.com(查看原文) 阅读量:3 收藏

Abu Idris Al-Muhaqqiq

Storytelling Write-up

While testing access control mechanisms in Facebook Groups, I started with a simple assumption: each role should have clearly defined permissions. In this case, moderators are not supposed to modify sensitive group settings, especially options like “Who can participate in the group.”

Press enter or click to view image in full size

To validate this, I first attempted to access the group settings page directly as a moderator:

https://web.facebook.com/groups/GROUP_ID/edit

As expected, I was redirected to an error page. This confirmed that, at the UI level, only admins are allowed to access and modify these settings.

Press enter or click to view image in full size

However, I decided to dig deeper.

To understand how the setting is actually updated, I created another group where I had admin privileges. While changing the “Who can participate in the group” option (e.g., Profiles and PagesOnly Profiles), I intercepted the request sent to the server.

This request was handled via a GraphQL mutation:

useGroupEditPageJoinPermissionMutation

At this point, I attempted to replicate the same request — but under a different context:

  • Using a moderator account
  • Replacing the group_id parameter with the ID of a target group where I was only a moderator

After sending the modified request, the result was unexpected:

The server responded with 200 OK, and the change was successfully applied.

This indicates that the backend failed to properly validate the user’s role, allowing a moderator to perform an action that should be restricted to admins only.

Impact

This issue affects public Facebook groups and leads to the following risks:

  • Moderators can change the “Who can participate in the group” setting without admin approval
  • The setting can be switched between:
  • Profiles and Pages
  • Only Profiles
  • Violates role-based access control (RBAC) principles
  • Undermines admin authority over group configuration
  • May be abused to:
  • Alter participation rules without consent
  • Disrupt group interaction dynamics

Even though the group is public, this setting remains a sensitive administrative control and should not be accessible to moderators.

Reproduction Steps

Users:

  • User A (Admin)
  • User B (Moderator)

Steps:

Get Abu Idris Al-Muhaqqiq’s stories in your inbox

Join Medium for free to get updates from this writer.

Remember me for faster sign in

1. User A creates Group C (Public Group)
2. User B joins Group C
3. User A assigns User B as a Moderator
4. User B attempts to access:

/groups/GROUP_C_ID/edit

→ Redirected to an error page (expected behavior)

6. User B creates Group D (where they are Admin)
7. User B changes the “Who can participate in the group” setting in Group D while intercepting the request
8. Capture the GraphQL request (useGroupEditPageJoinPermissionMutation)
9. Modify the parameter:

“group_id”:”GROUP_D_ID”

→ Replace with:

“group_id”:”GROUP_C_ID”

10. Resend the request
11. Server responds with 200 OK
12. The setting in Group C is successfully updated (verified by User A)

Root Cause

  • Missing authorization checks on the backend
  • Sensitive operations rely only on frontend/UI restrictions
  • The GraphQL endpoint does not validate whether the actor has admin privileges

Timeline

December 27, 2025: Submit Report
December 28, 2025: Initial Evaluation
January 29, 2026: Unable to reproduce
January 29, 2026: More information sent
January 30, 2026: Triaged
March 26, 2026: Fixed
March 26, 2026: Fix Confirmed
March 28, 2026: Bounty Awarded + Bonus

Press enter or click to view image in full size

Press enter or click to view image in full size


文章来源: https://infosecwriteups.com/bac-improper-authorization-in-public-facebook-groups-5345a7f49173?source=rss----7b722bfd1b8d---4
如有侵权请联系:admin#unsafe.sh