fetch: --allowed-hosts accepts wildcard IP entries (e.g. *.0.0.1) and matches any IPv4 ending with that suffix
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
Rechercherichtung
Beginne in src/fetch/src/mcp_server_fetch/allowlist.py und lies normalize_allowed_host und host_is_allowed, die im Issue als betroffene Einstiegspunkte genannt werden. Prüfe die bestehenden Tests zur Normalisierung und Übereinstimmung erlaubter Hosts und ergänze Tests für IP-Literale mit Platzhaltern, numerische Suffixe und IP-Adress-Hosts. Das Ziel ist erreicht, wenn diese Eingaben abgewiesen werden oder nie mit IP-Literalen übereinstimmen, während Subdomain-Platzhalter für Hostnamen weiterhin funktionieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
mcp-server-fetch's --allowed-hosts allowlist (src/fetch/src/mcp_server_fetch/allowlist.py) documents two valid entry forms:
Two entry forms only, to keep the semantics obvious: an exact host (a name or an IP literal), and
*.example.com, which matches any subdomain at any depth of example.com...
However, normalize_allowed_host only checks ipaddress.ip_address(...) when not wildcard (line 37). When a wildcard prefix *. is given before an IP literal or numeric IP suffix (such as *.10.0.0.1 or *.0.0.1), httpx.URL(f"http://{name}/") parses name without error and returns *.10.0.0.1 / *.0.0.1.
Then in host_is_allowed(host, allowed_hosts), host.endswith(entry[1:]) matches any IPv4 literal ending with .0.0.1 (for example, *.0.0.1 matches both 10.0.0.1 and 127.0.0.1).
from mcp_server_fetch.allowlist import host_is_allowed, normalize_allowed_hosts
entries = normalize_allowed_hosts(["*.0.0.1"]) # returns ('*.0.0.1',)
assert host_is_allowed("127.0.0.1", entries) is True
assert host_is_allowed("10.0.0.1", entries) is True
Expected
normalize_allowed_hostrejects wildcard IP literals and numeric-TLD wildcard suffixes (*.10.0.0.1,*.0.0.1,*.[::1]) withValueError.host_is_alloweddoes not match*.subdomain wildcards against IP address literals.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 91.9k
- Forks
- 11.9k
- Ø Merge
- 3 Std. 10 Min.
- Gemergte PRs (30 T.)
- 178
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus modelcontextprotocol/servers
-
bug server-sequentialthinking v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
modelcontextprotocol/servers#5526 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
fix(docker): correct stale --db-path comments in fetch/git Dockerfiles and clarify git READMEEvtl. vergeben @cliffhall hat das heute übernommen. Offendocumentation server-fetch server-git v2
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
modelcontextprotocol/servers#5483 · 4 Kommentare · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
-
chore v2
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
modelcontextprotocol/servers#5527 ·
Maintainer antworten meist innerhalb von 1 Tag
-
enhancement server-memory v2
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
modelcontextprotocol/servers#5525 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
everything: README description of `get-env` masking omits the whole-segment rule — `APIKEY` / `MYKEY` are not maskedEvtl. vergeben @cliffhall hat das heute übernommen. Offendocumentation server-everything v2
modelcontextprotocol/servers#5524 · 1 Kommentar · 1 zugewiesene Person ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in modelcontextprotocol/servers
Ähnliche Issues
-
maintenance
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 73/100
assistant-ui/assistant-ui#10499 · 1 Kommentar · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
app-server bug CLI
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag
-
cimd: default originBoundFields rejects a cross-origin client_uri, which the CIMD draft forbidsOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
better-auth/better-auth#12458 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
ログイン中の404画面にヘッダーとナビを出すOffenCodex使用可 コード
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
ryuki-moro/Nicomaru#218 ·
Maintainer antworten meist innerhalb von 3 Tagen