← Back to CVE Explorer

CVE-2026-56676

Full vulnerability record from the local CVENow database.

Description

9Router is an AI router & token saver. Prior to 0.5.2, 9router validates image URLs by resolving the host before fetching, but open-sse/translator/concerns/image.js performs the later server-side image fetch with a separate DNS resolution. An authenticated attacker with access to the LLM proxy can use a vision-capable model and an attacker-controlled DNS name that first resolves to a public IP and then rebinds to an internal address, allowing server-side requests to internal-only HTTP services. This issue is fixed in version 0.5.2.

Severity
HIGH
CVSS score
7.4 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-07-10 16:16:34.923000
Last modified
2026-10-25 15:10:00.147000
View original CVE JSON
{
  "id": "CVE-2026-56676",
  "sourceIdentifier": "[email protected]",
  "published": "2026-07-10T16:16:34.923",
  "lastModified": "2026-10-25T15:10:00.147",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "9Router is an AI router & token saver. Prior to 0.5.2, 9router validates image URLs by resolving the host before fetching, but open-sse/translator/concerns/image.js performs the later server-side image fetch with a separate DNS resolution. An authenticated attacker with access to the LLM proxy can use a vision-capable model and an attacker-controlled DNS name that first resolves to a public IP and then rebinds to an internal address, allowing server-side requests to internal-only HTTP services. This issue is fixed in version 0.5.2."
    },
    {
      "lang": "es",
      "value": "9Router es un router de IA y un ahorrador de tokens. Antes de la versión 0.5.2, 9router valida las URL de las imágenes resolviendo el host antes de la obtención, pero open-sse/translator/concerns/image.js realiza la posterior obtención de imágenes del lado del servidor con una resolución DNS separada. Un atacante autenticado con acceso al proxy LLM puede usar un modelo con capacidad de visión y un nombre DNS controlado por el atacante que primero se resuelve en una IP pública y luego se reasigna a una dirección interna, permitiendo solicitudes del lado del servidor a servicios HTTP solo internos. Este problema se solucionó en la versión 0.5.2."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "decolua",
          "product": "9router",
          "versions": [
            {
              "version": "< 0.5.2",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L",
          "baseScore": 7.4,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "LOW",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "LOW"
        },
        "exploitabilityScore": 3.1,
        "impactScore": 3.7
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-07-13T18:11:05.854652Z",
          "id": "CVE-2026-56676",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "no"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "role": "CISA Coordinator",
          "version": "2.0.3"
        }
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Secondary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-367"
        },
        {
          "lang": "en",
          "value": "CWE-918"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/decolua/9router/commit/c7d07448c58bec1200741de0b73305b860416b82",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/decolua/9router/releases/tag/v0.5.2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/decolua/9router/security/advisories/GHSA-cmhj-wh2f-9cgx",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/decolua/9router/security/advisories/GHSA-cmhj-wh2f-9cgx",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}