fix: IPv6 address truncation and image proxy SSRF vulnerabilities

Replace strings.Split(RemoteAddr, ":") with net.SplitHostPort for correct
IPv6 address extraction in vote deduplication and comment IP tracking.

Harden image proxy: add SSRF-safe transport blocking private/reserved IPs
at connection time with DNS rebinding protection, sanitize error messages
to prevent information leakage, add response size limit via io.LimitReader.

Fix shadowed error variables in BlockedUsers, SetTitle, and Delete methods.
Exclude gosec taint analysis false positives at linter config level.
This commit is contained in:
Umputun
2026-02-28 04:13:07 -06:00
parent f359256489
commit aca0cff399
25 changed files with 364 additions and 83 deletions
+2 -2
View File
@@ -60,13 +60,13 @@ jobs:
- name: golangci-lint
uses: golangci/golangci-lint-action@v9
with:
version: "v2.6.0"
version: "v2.10.1"
working-directory: backend/app
- name: golangci-lint on example directory
uses: golangci/golangci-lint-action@v9
with:
version: "v2.6.0"
version: "v2.10.1"
args: --config ../../.golangci.yml
working-directory: backend/_example/memory_store