IDOR: read another user's note
r_6y9btspn6vby @mkdir_pNov 9, 07:58 UTCLantern 1.4.0claimed high- Step 1 done
Read the claims
CWE-639 in 1.4.04.2 s - Step 2 done
Version in scope
0 msPass: Version 1.4.0 is in scope
The project has 1.4.0.
- Step 3 done
Cited code exists
4 msPass: File src/notes.ts exists in 1.4.0
The cited file is present at this version.
- Step 4 done
Not a duplicate
0 ms - Step 5 done
Sandbox replay
2 msCanary hit: Bob's private note reached alice{ "note": { "id": "note_2", "ownerId": "bob", "title": "Recovery phrase", "body": "Bank recovery phrase: [CANARY:note]", "visibility": "private", "updatedAt": "2026-01-01T00:00:00.000Z" } }
Pass: The PoC reproduced in the sandbox
A seeded canary (Bob's private note) reached an account not entitled to it.
- Step 6 done
Assessment
5.7 sPass: Slop assessment 0.02
Canary reproduced (canary_hit: true): the IDOR was confirmed, so the report is not slop. Claimed version exists and is in scope, and the code reference resolved without failure. Impact is plausible and matches the vulnerability class (CWE-639, authorization bypass via user-controlled key). No prompt-injection content found in the report body.
- Step 7 done
Verdict
0 msReproducedconfidence 98%suggested severity highGood news: we reproduced your report against a sandboxed instance (suggested severity high). A maintainer will review and release the bounty.
Claude: claude-opus-5-5· the AI recommends; only a maintainer moves money.
GET /api/notes/:id in src/notes.ts returns the note to any authenticated user without checking ownership (CWE-639). Log in as alice and request bob's note note_2.
Structured PoC
- 1.GET/api/notes/note_2as alice