
Web and Application Security Course Project — Group 06, Class NT213.Q21.ANTT
CVE-2026-24055 is an Improper Access Control vulnerability in Langfuse from version 3.89.0 to 3.146.0.
The /api/public/slack/install endpoint does not require authentication, allowing an attacker to bind their Slack workspace to any project simply by knowing the projectId. When the victim creates an automation to send notifications to Slack, the entire prompt content is leaked to the attacker's workspace.

| Tool | Minimum Version |
|---|---|
| Docker Desktop | 24.0+ |
| Docker Compose | v2 |
| Git | any |
| RAM | 8 GB |
Slack API allows using
http://localhost:3000as the Redirect URL, no ngrok required.
http://localhost:3000
cd vulnerable
cp .env.example .env
Open the .env file and fill in the following values:
NEXTAUTH_URL=http://localhost:3000
SLACK_CLIENT_ID=<your-slack-client-id>
SLACK_CLIENT_SECRET=<your-slack-client-secret>
SLACK_STATE_SECRET=any-random-string
docker compose up -d
Check that the containers are ready:
docker compose ps
Wait about 30–60 seconds. All containers should be in the
Up (healthy)state.
Visit http://localhost:3000:
Victim Account
Attacker Account
In the attacker's browser (no need to log in to Langfuse), visit:
http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>
The flow proceeds:
Log in with the victim account:
Prompt created / updated / deletedSlack → select a channelcd ../vulnerable
docker compose down
cd ../patched
cp .env.example .env
# Fill in the same values as in the vulnerable part
docker compose up -d
Try without logging in:
http://localhost:3000/api/public/slack/install?projectId=<any-project-id>
Expected result — HTTP 401:
{ "error": "Authentication required" }
Try logging in as attacker, using the victim's projectId:
http://localhost:3000/api/public/slack/install?projectId=<victim-project-id>
Expected result — HTTP 403:
{ "error": "You do not have permission to configure Slack for this project" }
The vulnerability is fully patched.
docker compose down
If you want to delete all data (volumes):
docker compose down -v
cve-2026-24055/
├── README.md ← this file
├── vulnerable/
│ ├── docker-compose.yml ← Langfuse v3.146.0 (vulnerable)
│ └── .env.example
└── patched/
├── docker-compose.yml ← Langfuse v3.147.0 (patched)
└── .env.example
| Property | Details |
|---|
| CWE | CWE-284 — Improper Access Control |
| Affected Versions | Langfuse 3.89.0 – 3.146.0 |
| Patched Version | Langfuse 3.147.0 |
| GitHub Advisory | GHSA-pvq7-vvfj-p98x |
| NVD | CVE-2026-24055 |