# Broken function-level authorization (BFLA)

A lower-privilege actor invokes a function reserved for another role.

**Candidate CWE:** [CWE-862](https://cwe.mitre.org/data/definitions/862.html) · [CWE-863](https://cwe.mitre.org/data/definitions/863.html)

## Test hypothesis

Record a documented owner-only reversible action on a disposable object. Replay it as the controlled viewer. Compare owner success, viewer denial on the normal route, and the observed alternate route.

## Evidence required

The restricted operation commits under the viewer identity. Include role definitions, actor tokens redacted, request sequence, and owner-side state verification. Select CWE-862 if the required function-level check is absent; select CWE-863 if a check exists but makes the wrong authorization decision.

## Rule out false positives

A hidden menu, reachable administrator HTML shell, or function explicitly available to members does not establish privilege escalation.

## Playbook and command references

- [Object, function, and property authorization](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/modules/authz-matrix.html) — Turn identities, tenants, objects, roles, and lifecycle transitions into a reproducible permission matrix.
- [REST, GraphQL, gRPC, WebSocket, and SSE permission parity](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/modules/api-protocols.html) — Carry the same permission invariant across protocols, nested fields, streams, and alternate API versions.

[Find the associated command snippets](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/commands.html?q=Object%2C%20function%2C%20and%20property%20authorization)

## Referenced by these target playbooks

[Web & API](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/web-api.html) · [OSS & self-hosted](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/oss.html) · [Mobile](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/mobile.html) · [Desktop & extensions](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/desktop.html) · [Cloud & containers](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/cloud.html)

## Report checklist

- [ ] Capture the affected version, configuration, identities, and object ownership.
- [ ] Preserve a valid baseline and a negative control.
- [ ] Reproduce the forbidden data access, action, or state change on controlled fixtures.
- [ ] Explain the intended security rule and why the observed behavior violates it.
- [ ] State prerequisites, uncertainty, cleanup, and the smallest demonstrated impact.

## Conditional ATT&CK mapping

No direct ATT&CK mapping selected. Record the weakness and demonstrated impact without forcing an adversary-behavior classification. See the [mapping guide](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/attack.html).

## Primary references

- [PortSwigger access control](https://portswigger.net/web-security/access-control)
- [MITRE CWE-862](https://cwe.mitre.org/data/definitions/862.html)
- [MITRE CWE-863](https://cwe.mitre.org/data/definitions/863.html)

[Back to the complete vulnerability catalog](https://bug-bounty-field-manual.kmahshooq.chatgpt.site/vulnerabilities.html)
