mirror of
https://github.com/snapotter-hq/SnapOtter.git
synced 2026-08-03 07:46:42 +02:00
fix(security): harden API against pentest findings
- Default TRUST_PROXY=false to prevent XFF rate limit bypass (PT-01) - Return 400 instead of 500 on malformed JSON input (PT-03) - Default MAX_PIPELINE_STEPS=20 to prevent DoS (PT-04) - Validate clientJobId length (max 128) across all routes (PT-06) - Add security headers to all reply.hijack() streaming responses (PT-07) - Sanitize usernames in audit log to prevent stored XSS (PT-08) - Block TRACE method with 405 response (PT-10) - Add 429 RateLimited response to OpenAPI spec (PT-12) - Default MAX_SVG_SIZE_MB=50 to limit SVGZ decompression (PT-13) - Pin Dockerfile base images by digest - Sanitize OIDC IdP error and sub claim in audit log - Sync Docker compose/Dockerfile defaults with env.ts
This commit is contained in:
+4
-4
@@ -113,8 +113,8 @@ RUN set -e; \
|
||||
# files with multiple auxiliary images (depth maps, HDR gain maps).
|
||||
# Build libheif >= 1.19 from source for the fix (GitHub #183).
|
||||
# Base images match production to avoid shared-library ABI mismatches.
|
||||
FROM debian:bookworm AS libheif-base-arm64
|
||||
FROM ubuntu:24.04 AS libheif-base-amd64
|
||||
FROM debian:bookworm@sha256:ed4fcc40bb1162b6d2d32e7bec15044d13963779abbe63f67f1cd62b06220519 AS libheif-base-arm64
|
||||
FROM ubuntu:24.04@sha256:786a8b558f7be160c6c8c4a54f9a57274f3b4fb1491cf65146521ae77ff1dc54 AS libheif-base-amd64
|
||||
|
||||
ARG TARGETARCH
|
||||
FROM libheif-base-${TARGETARCH} AS libheif-builder
|
||||
@@ -306,9 +306,9 @@ ENV PORT=1349 \
|
||||
MAX_USERS=0 \
|
||||
MAX_WORKER_THREADS=0 \
|
||||
PROCESSING_TIMEOUT_S=0 \
|
||||
MAX_PIPELINE_STEPS=0 \
|
||||
MAX_PIPELINE_STEPS=20 \
|
||||
MAX_CANVAS_PIXELS=0 \
|
||||
MAX_SVG_SIZE_MB=0 \
|
||||
MAX_SVG_SIZE_MB=50 \
|
||||
MAX_SPLIT_GRID=100 \
|
||||
MAX_PDF_PAGES=0 \
|
||||
SESSION_DURATION_HOURS=168 \
|
||||
|
||||
Reference in New Issue
Block a user