update PLANS.md with ssrf and re-enrich sections
This commit is contained in:
@@ -18,3 +18,17 @@ fix: single query with `WHERE t.album_id = ANY($1::uuid[])` — already batched
|
|||||||
|
|
||||||
### verification
|
### verification
|
||||||
`comfortGenerator` and `deepDiveGenerator` are tested in `generators.test.ts`
|
`comfortGenerator` and `deepDiveGenerator` are tested in `generators.test.ts`
|
||||||
|
|
||||||
|
## 2. SSRF guard (images.routes.ts)
|
||||||
|
|
||||||
|
current: only checks `url.startsWith('http://') || url.startsWith('https://')` — trivial bypass
|
||||||
|
fix: add domain allowlist of known image hosts, validate after redirect
|
||||||
|
|
||||||
|
allowed domains:
|
||||||
|
- coverartarchive.org + *.coverartarchive.org
|
||||||
|
- lastfm.freetls.fastly.net
|
||||||
|
- i.scdn.co (spotify)
|
||||||
|
- images.genius.com
|
||||||
|
- *.musicbrainz.org
|
||||||
|
- commons.wikimedia.org
|
||||||
|
- e.snmc.io
|
||||||
|
|||||||
Reference in New Issue
Block a user