Skip to content

fix: harden SSRF controls for RTMS/media fetches and enable RTMS TLS verify - #939

Open
valvesss wants to merge 1 commit into
attendee-labs:mainfrom
cold-code-labs:fix/security-ssrf-tls
Open

fix: harden SSRF controls for RTMS/media fetches and enable RTMS TLS verify#939
valvesss wants to merge 1 commit into
attendee-labs:mainfrom
cold-code-labs:fix/security-ssrf-tls

Conversation

@valvesss

@valvesss valvesss commented Aug 7, 2026

Copy link
Copy Markdown

Summary

Security hardening for server-side fetches that Attendee workers/bots perform on behalf of API clients.

  • Zoom RTMS SSRF: validate server_urls / media_url before connect (wss://, Zoom host allowlist, public DNS). API + adapter.
  • RTMS TLS: default ssl.create_default_context(); opt out with ZOOM_RTMS_SSL_INSECURE=true.
  • Output video / MP4: reject non-public HTTPS destinations in serializer + MP4Demuxer.
  • Webhooks: keep REQUIRE_PUBLIC_WEBHOOK_URLS default false (self-host); already allow_redirects=False.

Helpers in bots/ssrf.py (re-exported by webhook_utils.url_is_public).

Env knobs

Variable Default Meaning
ZOOM_RTMS_HOST_SUFFIX_ALLOWLIST .zoom.us,.zoom.com,.zoomgov.com Empty = skip suffix check (public IP only).
ZOOM_RTMS_SSL_INSECURE unset/false Restore previous CERT_NONE.

Test plan

Local (Mimir): Postgres 15.3 + Redis 7 + Django test settings.

  • bots.tests.test_ssrf + related utils — 89/89 OK
  • Serializer/SSRF helpers reject loopback/private/non-Zoom RTMS hosts; TLS verify default + insecure opt-in

Still for CI/maintainer: full matrix in Docker image; live Zoom RTMS with TLS verify.


Contribution from Cold Code Labs · authored via Brokk · co-authors in commit trailers.

@valvesss
valvesss requested a review from a team as a code owner August 7, 2026 15:00
…verify

Validate Zoom RTMS signaling/media URLs (host allowlist + public DNS) and
HTTPS media downloads before the worker connects. Default RTMS WebSocket
TLS to certificate verification (opt out via ZOOM_RTMS_SSL_INSECURE).

Co-authored-by: Vitor Alves <vitoralvesinfo@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
@valvesss
valvesss force-pushed the fix/security-ssrf-tls branch from f1df49f to 8f7b662 Compare August 7, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants