anthropics / anthropics/claude-plugins-community

CWE‑601 Open Redirect / URL Forwarding to Untrusted Sites variant combined with CWE‑20 Improper Input Validation and CWE‑200 Information Exposure.

Open
#59 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3.9k
Forks
290
Avg merge
10h 41m
Merged PRs (30d)
2

Description

The application reflects attacker‑controlled URL parameters into multiple third‑party analytics, tracking, and marketing endpoints without sanitization. The injected payload:

Code
?%20DELAY(5)%20%27href=https://github.com/copilot/share/426c008c-0ba4-8276-8100-244284cd4086
is propagated into:

referrer headers

analytics POST bodies

GA4 collect requests

Segment → Amplitude → Facebook Pixel chains

Webflow tracking scripts

HubSpot Webflow integrations

Anthropic’s internal analytics endpoints (a-api.anthropic.com)

This results in cross‑vendor data leakage, reflected injection, and cross‑environment contamination (production → staging).

Summary
User‑controlled URL parameters are forwarded unsafely into third‑party analytics and internal staging APIs. This causes attacker‑supplied data to be transmitted to Google, Meta, Segment, Amplitude, HubSpot, Webflow, CloudFront, Sanity, and Anthropic’s own staging environment.

This is a CWE‑601 Open Redirect / URL Forwarding to Untrusted Sites variant combined with CWE‑20 Improper Input Validation and CWE‑200 Information Exposure.

CWE Classification
Primary CWE
CWE‑601: URL Redirection to Untrusted Site
The application forwards attacker‑controlled URLs to external analytics vendors and internal staging systems.

Secondary CWEs
CWE‑20: Improper Input Validation
No sanitization of inbound URL parameters.

CWE‑116: Improper Encoding or Escaping of Output
Payload appears in analytics JSON and referrer headers.

CWE‑200: Exposure of Sensitive Information
User‑controlled data leaked to multiple third‑party domains.

CWE‑345: Insufficient Verification of Data Authenticity
Application trusts attacker‑supplied URL context.

CWE‑918: Server‑Side Request Forgery (Partial)
Production forwards attacker‑controlled data into staging APIs.

Steps to Reproduce
Navigate to:

Code
https://www.anthropic.com/?%20DELAY(5)%20%27href=https://github.com/copilot/share/426c008c-0ba4-8276-8100-244284cd4086
Open DevTools → Network.

Reload the page.

Observe the injected payload appearing in:

referrer headers

analytics POST bodies

GA4 collect requests

Segment → Amplitude → Facebook Pixel events

Webflow tracking scripts

HubSpot integrations

Anthropic internal analytics endpoints (a-api.anthropic.com/v1/p, /v1/m)

Confirm that the payload is transmitted to multiple external vendors.

Expected Result
User‑controlled URL parameters should be:

sanitized

canonicalized

not forwarded to analytics vendors

not included in referrer headers

not injected into analytics JSON payloads

not propagated into staging or internal systems

Actual Result
The injected payload is forwarded to:

Google Tag Manager

Google Analytics

Segment

Amplitude

Facebook Pixel

Webflow tracking

HubSpot Webflow integration

CloudFront jQuery CDN

Sanity CDN

Anthropic internal analytics (a-api.anthropic.com)

Anthropic staging environment (api-staging.anthropic.com)

Examples from logs:

Referrer leakage
"referrer": "https://www.anthropic.com/?%20DELAY(5)%20%27href=..."

Analytics body leakage
"search":"?%20DELAY(5)%20%27href=..."

GA4 beacon leakage
dl=https%3A%2F%2Fwww.anthropic.com%2F%3F%2520DELAY(5)%2520%2527href=...

Cross‑environment leakage
Requests forwarded into a-api.anthropic.com and api-staging.anthropic.com.

Impact
This vulnerability enables:

Cross‑vendor data leakage
Attacker‑controlled data sent to Google, Meta, Segment, Amplitude, HubSpot, Webflow, CloudFront, Sanity, and Anthropic.

Reflected injection
Payload embedded into analytics JSON, referrer headers, and tracking beacons.

Potential XSS
If any downstream script interprets the reflected value unsafely.

Analytics poisoning
Attackers can inject arbitrary values into analytics pipelines.

Cross‑environment contamination
Production → Staging leakage is a major architectural flaw.

Severity: High

Evidence
All evidence is taken directly from the captured logs:

"referrer": "https://www.anthropic.com/?%20DELAY(5)%20%27href=..."

"search":"?%20DELAY(5)%20%27href=..."

"url":"https://www.anthropic.com?%20DELAY(5)%20%27href=..."

GA4 collect requests containing the injected payload.

Segment → Amplitude → Facebook Pixel propagation.

Requests to a-api.anthropic.com and api-staging.anthropic.com containing attacker‑supplied data.

Remediation
Sanitize and canonicalize all inbound URL parameters.

Strip user‑controlled query strings from analytics payloads.

Disable referrer forwarding or enforce Referrer-Policy: strict-origin.

Validate and encode all values before passing them to third‑party scripts.

Audit analytics integrations for unsafe parameter propagation.

Ensure strict isolation between production and staging environments.

Consider server‑side analytics to avoid client‑side leakage.

CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.