Skip to content

fix(feed-discovery): block additional reserved SSRF IP ranges#89

Closed
AmitabhainArunachala wants to merge 1 commit into
profullstack:masterfrom
AmitabhainArunachala:fix/ssrf-reserved-ip-ranges
Closed

fix(feed-discovery): block additional reserved SSRF IP ranges#89
AmitabhainArunachala wants to merge 1 commit into
profullstack:masterfrom
AmitabhainArunachala:fix/ssrf-reserved-ip-ranges

Conversation

@AmitabhainArunachala

Copy link
Copy Markdown

Closes #88

Summary

Expands the feed-discovery SSRF guard to reject additional non-public/reserved IPv4 and IPv6 address ranges that were previously accepted as fetch targets.

IPv4 additions

  • Documentation (TEST-NET-1/2/3): 192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24
  • IETF protocol assignments: 192.0.0.0/24
  • Benchmark: 198.18.0.0/15
  • Multicast: 224.0.0.0/4 and Reserved: 240.0.0.0/4 (via a >= 224)

IPv6 additions

  • Discard-only: 100::/64
  • Benchmark: 2001:2::/48
  • Documentation: 2001:db8::/32
  • Full link-local scope: fe80::/10 (was only blocking fe80 prefix; now covers fe80-febf)
  • Multicast: ff00::/8

Validation

  • npm --workspace @logicsrc/plugin-feed-discovery run test (12/12 pass)
  • npm --workspace @logicsrc/plugin-feed-discovery run build (clean)
  • git diff --check (clean)

Regression coverage

Added 2 new test cases covering all newly blocked ranges.

Closes profullstack#88

Expand feed-discovery SSRF guard to reject additional non-public
IPv4 and IPv6 address ranges:

IPv4:
- Documentation TEST-NET-1/2/3 (192.0.2.0/24, 198.51.100.0/24, 203.0.113.0/24)
- IETF protocol assignments (192.0.0.0/24)
- Benchmark (198.18.0.0/15)
- Multicast (224.0.0.0/4) and reserved (240.0.0.0/4)

IPv6:
- Discard-only (100::/64)
- Benchmark (2001:2::/48)
- Documentation (2001:db8::/32)
- Full link-local scope (fe80::/10, not just fe80::)
- Multicast (ff00::/8)

Adds regression tests for all newly blocked ranges.
@ralyodio ralyodio closed this Jul 1, 2026
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.

3 participants