Skip to content

security(core): reject the RFC 8215 local-use NAT64 prefix in the SSRF filter (24.05) - #7960

Merged
shepardly[bot] merged 4 commits into
release.24.05from
backport/ssrf-nat64-local-use-2405
Aug 27, 2026
Merged

security(core): reject the RFC 8215 local-use NAT64 prefix in the SSRF filter (24.05)#7960
shepardly[bot] merged 4 commits into
release.24.05from
backport/ssrf-nat64-local-use-2405

Conversation

@ar2rsawseen

Copy link
Copy Markdown
Member

Backport of #7959 to release.24.05.

isBlockedIP in the shared api/utils/ssrf-protection.js admits only ipaddr.js unicast addresses. ipaddr.js@1.9.1 reports the well-known NAT64 prefix (64:ff9b::/96) as rfc6052 (rejected) but the RFC 8215 local-use prefix (64:ff9b:1::/48) as generic unicast, so it was accepted. This adds an explicit check to reject 64:ff9b:1::/48, matching the existing NAT64 handling. Network-specific NAT64 prefixes from an operator's own unicast space cannot be distinguished by prefix and remain out of scope.

Identical to #7959. Two unit tests added; full SSRF suite and eslint green.

🤖 Generated with Claude Code

ar2rsawseen and others added 3 commits August 18, 2026 21:23
…F filter

Backport of #7959 to release.24.05.

isBlockedIP admits only ipaddr.js 'unicast' addresses. ipaddr.js@1.9.1 reports the
well-known NAT64 prefix (64:ff9b::/96) as 'rfc6052' but the RFC 8215 local-use
prefix (64:ff9b:1::/48) as generic unicast, so add an explicit check to reject that
prefix, matching the existing NAT64 handling. Network-specific NAT64 prefixes from
an operator's own unicast space cannot be distinguished by prefix and remain out of
scope.

Adds unit tests for 64:ff9b:1::7f00:1.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The changelog is generated from PR and commit titles later, so an entry written by hand
here is duplicated work at best. It is also the single worst file in this wave for
conflicts: every merge to the base appends a line, which re-conflicts every open branch
that also appends one. Eight of the sixteen conflicts across these security PRs today
were this file and nothing else, and two of them came back within the hour.

Only the lines this branch added are removed - the file is otherwise the base's, and the
change here was purely additive, so nothing else moves.
@shepardly
shepardly Bot enabled auto-merge August 27, 2026 16:36
@shepardly
shepardly Bot merged commit 69464ab into release.24.05 Aug 27, 2026
6 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants