Permission escalation via role change: symptoms, cause, and the test that catches it
A role or policy change grants users access to resources they should not see.
Permission escalation via role change is documented by 4 accepted public reports from 4 organisations, 3 of them published in the last 5 years.
- Likelihood: medium (3 public reports in 5 years)
- Impact: high (4 of 4 reports: data)
Symptoms
User-visible
- Digest emails show inflated unread counts and activity from private teams, and some members receive a digest covering the entire workspace.[1]
- API and OAuth integrations that run broad queries receive data from private teams.[1]
- Users open Spaces in their own tenant without being members, and only tenants with multiple Spaces are affected.[3]
- A user without the admin role opens the user provisioning settings page by URL even though the sidebar hides it.[2]
- External users and guest accounts see every project, including internal ones.[4]
Monitoring-visible
- Queries return rows without team-level filtering instead of raising an error.[1]
- Admin endpoints that should return 403 Forbidden to non-admin users return normal responses.[2]
- A customer reports a notification email with far more content than expected shortly after the first internal finding.[1]
- External users file bug reports about the visible internal projects at the same time the operations team detects the change.[4]
Root causes
- stage: code A performance optimization gated to one internal workspace had a variable shadowing bug in its disabled path, which dropped the user-specific sync group resolvers and skipped the team permission check for every other workspace.[1]
- stage: code A new user provisioning page replaced an older settings page, and its endpoints shipped without the admin authorization policy attribute.[2]
- stage: code An application update changed the authorization logic used when fetching Space data, so membership was no longer checked.[3]
- stage: config An administration failure during a permission synchronization run granted all external and guest accounts access to every project.[4]
Public examples
- [1]Linear, 2026-04-06. A deployed change to the access control layer skipped team-level permission filtering for all but one workspace, so for about one hour members and guests could access data from private teams in their own workspace. primary Post mortem on Linear security incident on March 24th, 2026
- [2]Workspace 365, 2026-02-20. Release 3.51.0 replaced a settings page with a new User provisioning page whose endpoints lacked the admin authorization policy, so environment users without the admin role could reach them by URL until a hotfix in July 2023. primary Post Mortem - Security misconfiguration - 3.63.1
- [3]Templafy, 2025-10-21. A Library App update changed the authorization logic used when fetching Space data, so users could view Spaces in their own tenant without being members until the change was rolled back across all production clusters. primary Service degradation - A subset of users could encounter access issues to Spaces
- [4]JetBrains, 2015-08-10. An administration failure during a permission synchronization process gave all external users and guest accounts permissions to every project on the company's production YouTrack instance, including internal ones, for about an hour. primary JetBrains YouTrack Instance Security Issue Post Mortem
Test classes that catch it
| Test class | Stage | Limitation | Basis |
|---|---|---|---|
| Integration tests | pre-deploy | An integration test that covers the optimization only while it is switched on misses the disabled code path, which is the path every workspace but one ran. | cited in [1] |
| Security tests | pre-deploy | A security test covers only the access scenarios it lists, and guest and external accounts gaining every internal project after a synchronization run sat outside the scenarios that existed before the follow-up. | cited in [4] |
Risk
- Likelihood: medium (3 public reports in 5 years)
- Impact: high (4 of 4 reports: data)
| Accepted public reports | 4 |
|---|---|
| Published in the last 5 years | 3 |
| Impact stated: data | 4 |
Pre-release checklist
- PR-01
- PR-02
- PR-03
- PR-04
- PR-05
- PR-06
- PR-07
First 30 minutes
- FM-01
- FM-02
- FM-03
- FM-04
- FM-05
- FM-06
- FM-07
Download the checklist
What catches this: catalogue entries
Listed because their own documentation or site names integration tests, security tests on the verification date. Alphabetical. Not a recommendation.
Tools whose documentation names these test classes
- Burp Suite security source verified 2026-10-21
- Checkov security source verified 2026-10-21
- Gitleaks security source verified 2026-10-21
- Hoverfly integration source verified 2026-10-21
- Nuclei security source verified 2026-10-21
- Postman integration source verified 2026-10-21
- Schemathesis security source verified 2026-10-21
- Semgrep security source verified 2026-10-21
- Serenity BDD integration source verified 2026-10-21
- SonarQube security source verified 2026-10-21
- sqlmap security source verified 2026-10-21
- Testcontainers integration source verified 2026-10-21
- TestNG integration source verified 2026-10-21
- Trivy security source verified 2026-10-21
- TruffleHog security source verified 2026-10-21
- Zed Attack Proxy (ZAP) security source verified 2026-10-21
Providers whose site names these test classes
- Abstracta security source verified 2026-10-21
- andagon people GmbH integration source verified 2026-10-21
- Appmatics integration source verified 2026-10-21
- AQA Masters security source verified 2026-10-21 integration source verified 2026-10-21
- BreachLock security source verified 2026-10-21
- BugRaptors security source verified 2026-10-21
- Cleverix integration source verified 2026-10-21 security source verified 2026-10-21
- Crestech Software Systems security source verified 2026-10-21 integration source verified 2026-10-21
- CyStack security source verified 2026-10-21
- DeviQA security source verified 2026-10-21 integration source verified 2026-10-21
- Elinext security source verified 2026-10-21
- Invensis Technologies integration source verified 2026-10-21 security source verified 2026-10-21
- iValuePlus Services security source verified 2026-10-21
- Nimble Approach security source verified 2026-10-21
- Outpost QA integration source verified 2026-10-21
- Packetlabs security source verified 2026-10-21
- Pentest Factory GmbH security source verified 2026-10-21
- Q-Centric GmbH integration source verified 2026-10-21 security source verified 2026-10-21
- QA Madness security source verified 2026-10-21 integration source verified 2026-10-21
- QA Mentor security source verified 2026-10-21 integration source verified 2026-10-21
- QAwerk security source verified 2026-10-21 integration source verified 2026-10-21
- Quality House security source verified 2026-10-21
- Quality Island security source verified 2026-10-21 integration source verified 2026-10-21
- Qualysec security source verified 2026-10-21
- Saigon Technology security source verified 2026-10-21
- SHIFT ASIA security source verified 2026-10-21
- SimplyTest GmbH security source verified 2026-10-21
- Soflab Technology security source verified 2026-10-21 integration source verified 2026-10-21
- Software Secured security source verified 2026-10-21
- SQA - Software Quality Assurance S.A. integration source verified 2026-10-21 security source verified 2026-10-21
- SunTec India integration source verified 2026-10-21 security source verified 2026-10-21
- T2S Tecnologia security source verified 2026-10-21
- TestFort security source verified 2026-10-21 integration source verified 2026-10-21
- Testhouse security source verified 2026-10-21 integration source verified 2026-10-21
- Testing IT integration source verified 2026-10-21
- TestMatick security source verified 2026-10-21 integration source verified 2026-10-21
- Testrig Technologies security source verified 2026-10-21
- Testscenario integration source verified 2026-10-21
- TestSolutions GmbH security source verified 2026-10-21
- tiQtoQ security source verified 2026-10-21
- VTEST security source verified 2026-10-21
- Zoonou security source verified 2026-10-21 integration source verified 2026-10-21
Only on this page
Permission escalation via role change has one public report with a measured time to detect: 63 minutes passed between the deploy and the first identified subset of private-team exposure [1]. A customer report of an oversized notification email followed shortly after.
In that report the faulty path was the disabled branch of an optimization switched on for one internal workspace, so the internal workspace kept its permission check while every customer workspace lost it [1]. Internal use of the product could not surface the exposure, because the only workspace running the optimized path was unaffected.
Related incidents
- API key rotation breaks integrations A key rotation invalidates partner integrations that were not notified.
- All sessions invalidated A change to session signing or storage logs every user out at once.
- Connection pool exhausted A new code path leaks or holds connections and the pool runs out under load.
- CORS policy blocks frontend A CORS change blocks the production frontend from calling its own API.
- Password reset link broken Password reset emails link to a wrong or expired route after a routing change.
Questions
What causes permission escalation via role change?
Three of the 4 primary reports name a code change in authorization logic, and one names an administration failure during permission synchronization [4]. The code causes include a skipped team permission check [1] and endpoints shipped without an admin policy attribute [2].
What are the symptoms of permission escalation via role change?
Users see private-team activity in digest emails, Spaces they are not members of, or internal projects as guests. Monitoring shows admin endpoints returning normal responses where 403 Forbidden is expected [2].
Why did tests not catch permission escalation via role change?
One report states that tests covered an optimization when active but not its disabled code path [1]. Another states that a hidden page was not on the testing checklist, so code review and QA missed the missing policy [2].
Which test class catches permission escalation via role change, and what does it miss?
Integration tests carry a cited basis from one report [1], and security tests carry a cited basis from another [4]. Report [4] added security tests covering more access scenarios after guest and external accounts could see internal projects.
How long did it take to detect permission escalation via role change in the public reports?
One report measures 63 minutes from deploy to the first identified exposure [1]. Another found the missing admin policy about ten months after the release, during QA testing [2].
Should a team roll back or fix forward when permission escalation via role change happens?
Two reports reverted or rolled back the change [1] [3], one shipped a hotfix that added the missing policy attribute [2], and one fixed the grants within an hour [4]. Checklist item FM-01 reverts first and investigates after.
Release Incident Playbook (2026). Permission escalation via role change: symptoms, cause, and the test that catches it, content version 1.0.0. https://releasefailures.com/incidents/permission-escalation-via-role-change/. Accessed 2026-10-21.