Skip to content

Webhook-Ports kontrolliert validieren - #73

Merged
fgrfn merged 2 commits into
mainfrom
nightly/2026-10-24-webhook-port
Oct 25, 2026
Merged

fgrfn merged 2 commits into
mainfrom
nightly/2026-10-24-webhook-port

Conversation

@fgrfn

@fgrfn fgrfn commented Oct 24, 2026

Copy link
Copy Markdown
Owner

Was & warum

Webhook-URLs mit nicht numerischen oder außerhalb des gültigen Bereichs liegenden Ports konnten beim Zugriff auf urlparse().port eine rohe ValueError auslösen. Außerdem wurde für HTTP-URLs ohne Port bislang Port 443 zur DNS-Auflösung verwendet. Die Eingabevalidierung behandelt beide Fälle nun vorhersehbar und protokollgerecht.

Änderungen

  • Ungültige und außerhalb des Bereichs liegende Ports werden als UnsafeWebhookURLError abgelehnt.
  • HTTP nutzt ohne expliziten Port 80, HTTPS weiterhin 443.
  • Regressionstests decken ungültige Ports, unterbundene DNS-Lookups und beide Standardports ab.

Getestet

  • python -m compileall -q app tests – erfolgreich
  • ruff check app tests --select E9,F63,F7,F82 – erfolgreich
  • SCAN2TARGET_REQUIRE_AUTH=true pytest -q – 29 Tests bestanden
  • npm test – 3 Tests bestanden
  • npm run check – 0 Fehler, 0 Warnungen
  • Branch-CI mit Backend, Frontend, Playwright und Container-Smoke-Test – erfolgreich
  • Multiarch-Docker-Build – erfolgreich
  • Der lokale Playwright-Browserdownload war in der Sandbox nicht möglich; derselbe Browser-Flow lief in der Branch-CI grün.

Review-Hinweise

Bitte insbesondere prüfen, ob das Ablehnen syntaktisch ungültiger Ports auch bei aktivierten privaten Webhooks dem gewünschten Verhalten entspricht. Das Risiko ist gering und auf die Webhook-Eingabevalidierung begrenzt.

@fgrfn
fgrfn merged commit a14e515 into main Oct 25, 2026
10 checks passed
@fgrfn
fgrfn deleted the nightly/2026-10-24-webhook-port branch October 25, 2026 23:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant