Advisory Database
  • Advisories
  • Dependency Scanning
  1. npm
  2. ›
  3. @paperclipai/server
  4. ›
  5. GHSA-3xx2-mqjm-hg9x

GHSA-3xx2-mqjm-hg9x: Paperclip: Cross-tenant agent API key IDOR in `/agents/:id/keys` routes allows full victim-company compromise

April 16, 2026

The GET, POST, and DELETE handlers under /agents/:id/keys in the Paperclip control-plane API only call assertBoard(req), which verifies that the caller has a board-type session but does not verify that the caller has access to the company owning the target agent. A board user whose membership is limited to Company A can therefore list, create, or revoke agent API keys for any agent in Company B by supplying the victim agent’s UUID in the URL path. The POST handler returns the newly-minted token in cleartext, which authenticates subsequent requests as {type:"agent", companyId:<CompanyB>}, giving the attacker full agent-level access inside the victim tenant — a complete cross-tenant compromise.

References

  • github.com/advisories/GHSA-3xx2-mqjm-hg9x
  • github.com/paperclipai/paperclip
  • github.com/paperclipai/paperclip/security/advisories/GHSA-3xx2-mqjm-hg9x

Code Behaviors & Features

Detect and mitigate GHSA-3xx2-mqjm-hg9x with GitLab Dependency Scanning

Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →

Affected versions

All versions before 2026.416.0

Fixed versions

  • 2026.416.0

Solution

Upgrade to version 2026.416.0 or above.

Impact 9.9 CRITICAL

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Learn more about CVSS

Weakness

  • CWE-639: Authorization Bypass Through User-Controlled Key

Source file

npm/@paperclipai/server/GHSA-3xx2-mqjm-hg9x.yml

Spotted a mistake? Edit the file on GitLab.

  • Site Repo
  • About GitLab
  • Terms
  • Privacy Statement
  • Contact

Page generated Sat, 09 May 2026 12:19:17 +0000.