Langfuse is an open-source platform for observing and evaluating LLM applications. Inviting a user into an organization is meant to require a role. By naming a project that belonged to a different organization, a member with any role could send such an invitation.
The problem
In inviteOrganizationMember, the lookup that checks that the invite's project belongs to the target organization happened after the access check, and a project that was not found was silently ignored. An organization member of any role could therefore invite users into the organization by referencing a project from another organization, without the role that the operation requires.
How it was shown
The behaviour was reproduced and reported through the project's responsible-disclosure process. The fix adds a test that fails on the previous code and passes after the change.
Response
The developers fixed it in pull request #19404, merged on 27 Oct 2026 (JST): the invite's project is now looked up inside the target organization before the access check, and the request is rejected when it is not part of it, matching an existing check elsewhere in the code. The report is listed on the project's Responsible Disclosure page under "Hall of Fame" as ba-cybersecurity.com, #19404.
Links
Cite as
Nobuo Otoi (ba-cybersecurity.com). Langfuse: organization invitation without the required role via a project of another organization (report and fix). 2026. https://ba-cybersecurity.com/research/langfuse-organization-invite/.
@misc{otoi2026langfuse,
author = {Otoi, Nobuo},
title = {Langfuse: organization invitation without the required role via a project of another organization (report and fix)},
year = {2026},
howpublished = {\url{https://ba-cybersecurity.com/research/langfuse-organization-invite/}},
note = {Fix: https://github.com/langfuse/langfuse/pull/19404}
}
Fix merged 27 Oct 2026 (JST) · This page: updated 7 Nov 2026 · Permanent address: https://ba-cybersecurity.com/research/langfuse-organization-invite/