← Back to CVE Explorer

CVE-2026-17534

Full vulnerability record from the local CVENow database.

Description

Kimi Code (@moonshot-ai/kimi-code) before 0.27.0 implements FetchURL SSRF hardening as a static hostname and IP-literal denylist in assertSafeFetchTarget, without resolving DNS or re-validating hosts after HTTP redirects. An attacker who can influence a FetchURL call (for example via prompt injection) can supply a crafted public hostname that resolves to loopback or another internal address, or a public URL that redirects to such a target, and thereby reach internal network services that the denylist was intended to block. FetchURL is included in the default auto-approve tool set, so the call does not require interactive user confirmation in manual mode.

Severity
MEDIUM
CVSS score
5.5 (v3.1)
Vulnerability status
Awaiting Analysis
Source identifier
Published
2026-07-27 10:16:37.747000
Last modified
2026-10-24 13:10:00.147000
View original CVE JSON
{
  "id": "CVE-2026-17534",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-27T10:16:37.747",
  "lastModified": "2026-10-24T13:10:00.147",
  "vulnStatus": "Awaiting Analysis",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "Kimi Code (@moonshot-ai/kimi-code) before 0.27.0 implements FetchURL SSRF hardening as a static hostname and IP-literal denylist in assertSafeFetchTarget, without resolving DNS or re-validating hosts after HTTP redirects. An attacker who can influence a FetchURL call (for example via prompt injection) can supply a crafted public hostname that resolves to loopback or another internal address, or a public URL that redirects to such a target, and thereby reach internal network services that the denylist was intended to block. FetchURL is included in the default auto-approve tool set, so the call does not require interactive user confirmation in manual mode."
    },
    {
      "lang": "es",
      "value": "Kimi Code (@moonshot-ai/kimi-code) antes de 0.27.0 implementa el endurecimiento de SSRF de FetchURL como una lista de denegación estática de nombres de host y literales IP en assertSafeFetchTarget, sin resolver DNS ni revalidar hosts después de redirecciones HTTP. Un atacante que puede influir en una llamada a FetchURL (por ejemplo, mediante inyección de prompt) puede proporcionar un nombre de host público manipulado que se resuelve en loopback u otra dirección interna, o una URL pública que redirige a dicho objetivo, y así alcanzar servicios de red internos que la lista de denegación pretendía bloquear. FetchURL está incluido en el conjunto de herramientas de aprobación automática predeterminado, por lo que la llamada no requiere confirmación interactiva del usuario en modo manual."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "MoonshotAI",
          "product": "Kimi Code",
          "defaultStatus": "unaffected",
          "collectionURL": "https://github.com/MoonshotAI/kimi-code",
          "packageName": "@moonshot-ai/kimi-code",
          "programFiles": [
            "packages/agent-core-v2/src/app/web/providers/local-fetch-url.ts",
            "packages/agent-core/src/tools/providers/local-fetch-url.ts",
            "packages/agent-core-v2/src/agent/permissionPolicy/policies/default-tool-approve.ts"
          ],
          "repo": "git://github.com/MoonshotAI/kimi-code",
          "versions": [
            {
              "version": "0",
              "lessThan": "0.27.0",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:C/C:H/I:N/A:N",
          "baseScore": 5.5,
          "baseSeverity": "MEDIUM",
          "attackVector": "LOCAL",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "CHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 1.0,
        "impactScore": 4.0
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-27T10:23:54.927637Z",
          "id": "CVE-2026-17534",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-918"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/MoonshotAI/kimi-code",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/MoonshotAI/kimi-code/commit/31449728b72df94e22bcb2de350a1e7624895e30",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/MoonshotAI/kimi-code/pull/1791",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/MoonshotAI/kimi-code/releases/tag/%40moonshot-ai%2Fkimi-code%400.27.0",
      "source": "[email protected]"
    }
  ]
}