fix(backend): multer 취약점 해소 — overrides 로 2.4.0 고정
@nestjs/platform-express@11 이 multer 를 2.2.0 으로 정확 고정하는데, 이 버전에는 깊게 중첩된 필드명으로 자원을 소모시키는 DoS 취약점(high)이 있다. 상위 패키지가 버전을 박아두어 npm audit fix 로는 해결되지 않았다. platform-express@12 가 쓰는 multer 버전을 확인하니 2.4.0 이었다. 즉 v12 로 올려서 얻는 결과가 multer 상향이므로, overrides 로 하위 패키지만 올려 Nest 생태계(v11) 업그레이드 없이 동일한 결과를 얻는다. - npm audit: 10건 → 0건 - 같은 메이저(2.x) 안에서의 상향이라 API 호환 위험이 낮고, lint·단위 31개·e2e 7개·빌드·런타임 기동·Docker 빌드까지 확인했다. - 이 패턴(전이 의존성 취약점을 overrides 로 끊기)과 주의사항을 security.md 에 규칙으로 정리. platform-express 를 v12 로 올릴 때 override 를 제거해야 한다는 조건도 함께 기록. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -296,6 +296,8 @@ dc exec backend npm uninstall <패키지>
|
||||
- 변경 후 호스트의 `package.json`·`package-lock.json` 이 갱신됐는지 확인하고 **함께 커밋**한다 (bind mount 라 호스트에 반영된다).
|
||||
- 호스트에서 실행해버렸다면 `git checkout backend/package-lock.json` 으로 되돌린 뒤 위 방법으로 다시 한다.
|
||||
- 커밋 전 `docker compose ... build backend` 로 `npm ci` 가 통과하는지 확인한다. CI 도 같은 검사를 한다.
|
||||
- 전이 의존성의 취약점이 `npm audit fix` 로 안 풀리면 `package.json` 의 `overrides` 를 쓴다 ([[security]]).
|
||||
현재 `multer: ^2.4.0` 이 걸려 있다 — `@nestjs/platform-express` 를 v12 로 올릴 때 제거한다.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user