CVE-2026-53509
JavaScript Análise e mitigação de vulnerabilidades

Visão geral

CVE-2026-53509 is a Server-Side Request Forgery (SSRF) filter bypass vulnerability in the @aborruso/ckan-mcp-server npm package that allows a remote MCP caller to make the server connect to loopback or private network addresses by supplying hostname aliases such as ip6-localhost. It represents a bypass of the prior fix for CVE-2026-33060, which introduced IP-address filtering but failed to account for non-standard hostname aliases. Affected versions are all releases of @aborruso/ckan-mcp-server prior to 0.4.106; version 0.4.106 contains the patch. The vulnerability was first published on May 31, 2026, added to the GitHub Advisory Database on July 7, 2026, and carries a CVSS v3.1 base score of 5.7 (Moderate) (GitHub Advisory, Security Advisory).

Detalhes técnicos

The root cause is an incomplete SSRF blocklist (CWE-918) in src/utils/http.ts. The original fix for CVE-2026-33060 blocked localhost, dotted IPv4 literals, and bracketed IPv6 literals, but the check was implemented as a single hostname === 'localhost' string comparison. Hostname aliases such as ip6-localhost and ip6-loopback — which are present in /etc/hosts on many Linux systems and resolve to the IPv6 loopback address ::1 — are not equal to localhost, are not dotted IPv4 literals, and are not bracketed IPv6 literals, so they pass the filter unimpeded. A remote MCP caller that can invoke CKAN tools (e.g., ckan_package_search, sparql_query) with a crafted server_url or base_url parameter containing such an alias can therefore cause the server to issue outbound HTTP requests to loopback or internal network addresses and, for CKAN-shaped responses, receive the returned data (GitHub Advisory, Security Advisory).

Impacto

Successful exploitation allows an attacker to pivot the CKAN MCP Server into an internal network proxy, enabling access to services on loopback and private addresses that would otherwise be unreachable from the internet. The primary impact is high confidentiality loss — an attacker can retrieve data from internal services (e.g., cloud metadata endpoints such as the AWS IMDS at 169.254.169.254, internal APIs, or other locally bound services) if those services return CKAN-shaped responses. There is no direct integrity or availability impact, but the ability to enumerate and probe internal services could facilitate further lateral movement or credential theft (GitHub Advisory, Release Notes).

Exploração

No public exploit code or in-the-wild exploitation has been reported for CVE-2026-53509. The vulnerability was responsibly disclosed by researcher hibrian827 and patched before broad public disclosure. Exploitation requires low privileges (the ability to invoke MCP tools) and user interaction (a victim's AI assistant must have the MCP server connected and process attacker-controlled content), which limits opportunistic exploitation. The EPSS score for the related predecessor CVE-2026-33060 was 0.289% (21st percentile); no EPSS or CISA KEV entry has been published for CVE-2026-53509 at this time (GitHub Advisory, CVE-2026-33060 Advisory).

Etapas de exploração

  1. Identify a target: Locate an environment where an AI assistant (e.g., an LLM agent) has the @aborruso/ckan-mcp-server npm package (version < 0.4.106) connected as an MCP server.
  2. Craft a prompt injection payload: Prepare malicious content (e.g., a webpage, document, or dataset) that, when processed by the AI assistant, instructs it to invoke a CKAN MCP tool such as ckan_package_search with a crafted base_url parameter.
  3. Supply a bypass hostname: Use a hostname alias that resolves to loopback but is not blocked by the filter, for example: {"tool": "ckan_package_search", "arguments": {"base_url": "http://ip6-localhost:8080/internal-api", "query": "test"}}.
  4. Trigger the request: When the victim's AI assistant processes the injected content, it invokes the tool, causing the MCP server to issue an HTTP request to http://ip6-localhost:8080/internal-api (resolving to ::1:8080 on the server host).
  5. Retrieve internal data: If the internal service returns a CKAN-shaped JSON response, the MCP server parses and returns the data to the caller, exposing internal service content such as credentials, configuration, or cloud metadata (GitHub Advisory, Security Advisory).

Indicadores de compromisso

  • Network: Outbound HTTP requests from the CKAN MCP Server process to loopback addresses (::1, 127.0.0.1) or private/internal IP ranges on unexpected ports; requests to cloud metadata endpoints (e.g., 169.254.169.254) originating from the MCP server process.
  • Logs: Application or access logs showing base_url or server_url parameter values containing ip6-localhost, ip6-loopback, or other non-standard hostname aliases; HTTP requests to internal hostnames logged by the Node.js process.
  • Process: Unusual outbound TCP connections from the Node.js MCP server process to loopback or RFC 1918 addresses on ports not associated with legitimate CKAN portals.

Mitigação e soluções alternativas

Upgrade @aborruso/ckan-mcp-server to version 0.4.106 or later, which replaces the single hostname === 'localhost' check with a blocked-hostname Set that explicitly covers ip6-localhost and ip6-loopback (patched in commit c761045a1b7c5f40d2626540dd2ef1d4feb91f8c). As a defense-in-depth measure, restrict outbound network access from the MCP server host using firewall rules to prevent connections to loopback, RFC 1918 ranges, and cloud metadata endpoints regardless of application-level filtering. Organizations should also consider implementing a base_url allowlist of permitted CKAN portals as recommended in the predecessor advisory for CVE-2026-33060 (Release Notes, GitHub Advisory).

Reações da comunidade

The vulnerability was responsibly disclosed by researcher hibrian827 and acknowledged by the maintainer (aborruso) of the ondata/ckan-mcp-server repository. The fix was released promptly on May 31, 2026, the same day the advisory was published, with two new unit tests added to prevent regression. No broader media coverage or notable public commentary beyond the GitHub advisory and release notes has been identified (Security Advisory, Release Notes).

Recursos adicionais


OrigemEste relatório foi gerado usando IA

Relacionado JavaScript Vulnerabilidades:

CVE ID

Gravidade

Pontuação

Tecnologias

Nome do componente

Exploração do CISA KEV

Tem correção

Data de publicação

CVE-2026-77415CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NãoSimAug 21, 2026
CVE-2026-77414CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NãoSimAug 21, 2026
CVE-2026-77413CRITICAL9.3
  • JavaScript logoJavaScript
  • jsonata
NãoSimAug 21, 2026
CVE-2026-63421HIGH7.5
  • JavaScript logoJavaScript
  • @keystone-6/core
NãoSimAug 21, 2026
CVE-2026-53509MEDIUM5.7
  • JavaScript logoJavaScript
  • @aborruso/ckan-mcp-server
NãoSimAug 21, 2026

Avaliação de vulnerabilidade gratuita

Compare sua postura de segurança na nuvem

Avalie suas práticas de segurança na nuvem em 9 domínios de segurança para comparar seu nível de risco e identificar lacunas em suas defesas.

Solicitar avaliação

Marque uma demonstração personalizada

Pronto para ver a Wiz em ação?

"A melhor experiência do usuário que eu já vi, fornece visibilidade total para cargas de trabalho na nuvem."
David EstlickCISO
"A Wiz fornece um único painel de vidro para ver o que está acontecendo em nossos ambientes de nuvem."
Adam FletcherDiretor de Segurança
"Sabemos que se a Wiz identifica algo como crítico, na verdade é."
Greg PoniatowskiChefe de Gerenciamento de Ameaças e Vulnerabilidades