Flagsmith / Flagsmith/flagsmith

Spike: Shared egress policy

Open
#8,296 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6.6k
Forks
567
Avg merge
1d 13h
Merged PRs (30d)
121

Description

For better SSRF prevention, we should consider enforcing shared requirements/limitations for all outbound HTTP traffic Flagsmith's backend produces, such as:

- resolve first
- reject private, loopback, link-local and CGNAT ranges
- refuse redirects

We must understand which of the above should apply to which of the calls we make, and come up with a policy shared by all `urlopen` calls in the codebase.

Contributor guide

Open the contributing guide

Research direction

Start by inventorying the backend's outbound HTTP calls and every `urlopen` call in the codebase. Review which calls need DNS resolution, private or special-range rejection, and redirect refusal, then document a shared egress policy and its per-call applicability. Done means the policy decisions and affected call sites are identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.