← Back to CVE Explorer

CVE-2026-48764

Full vulnerability record from the local CVENow database.

Description

TypeBot is a chatbot builder tool. In versions prior to 3.17.2, SSRF validation is implemented by resolving a hostname once and checking whether the resolved IP belongs to a forbidden range allowing for DNS rebinding bypass. The root cause is a time-of-check to time-of-use gap in the SSRF guard. The validator resolves the hostname and approves it, but the later request path performs a fresh resolution and connects to whatever IP the hostname maps to at that moment. The actual outbound request is then performed later using the original hostname, without pinning the validated IP to the network connection. An attacker who can supply a URL to a public bot that performs a server-side HTTP Request block or server-side script fetch can use DNS rebinding to pass the initial validation and still force the server to connect to a private or metadata address during the real request. This enables server-side access to private network services, cloud metadata endpoints, and other internal HTTP targets that the validator was intended to block. The exact downstream impact depends on the reachable internal services. Concrete consequences include metadata disclosure, access to internal admin panels, credential theft from metadata services, and further compromise through internal-only HTTP interfaces. This issue has been fixed in version 3.17.2.

Severity
HIGH
CVSS score
8.2 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-06-18 00:16:23.363000
Last modified
2026-10-25 23:10:00.167000
View original CVE JSON
{
  "id": "CVE-2026-48764",
  "sourceIdentifier": "[email protected]",
  "published": "2026-06-18T00:16:23.363",
  "lastModified": "2026-10-25T23:10:00.167",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "TypeBot is a chatbot builder tool. In versions prior to 3.17.2, SSRF validation is implemented by resolving a hostname once and checking whether the resolved IP belongs to a forbidden range allowing for DNS rebinding bypass. The root cause is a time-of-check to time-of-use gap in the SSRF guard. The validator resolves the hostname and approves it, but the later request path performs a fresh resolution and connects to whatever IP the hostname maps to at that moment. The actual outbound request is then performed later using the original hostname, without pinning the validated IP to the network connection. An attacker who can supply a URL to a public bot that performs a server-side HTTP Request block or server-side script fetch can use DNS rebinding to pass the initial validation and still force the server to connect to a private or metadata address during the real request. This enables server-side access to private network services, cloud metadata endpoints, and other internal HTTP targets that the validator was intended to block. The exact downstream impact depends on the reachable internal services. Concrete consequences include metadata disclosure, access to internal admin panels, credential theft from metadata services, and further compromise through internal-only HTTP interfaces. This issue has been fixed in version 3.17.2."
    },
    {
      "lang": "es",
      "value": "TypeBot es una herramienta de creación de chatbots. En versiones anteriores a la 3.17.2, la validación de SSRF se implementa resolviendo un nombre de host una vez y comprobando si la IP resuelta pertenece a un rango prohibido, lo que permite eludir el DNS rebinding. La causa raíz es una brecha de tiempo de verificación a tiempo de uso en la protección SSRF. El validador resuelve el nombre de host y lo aprueba, pero la ruta de solicitud posterior realiza una nueva resolución y se conecta a cualquier IP a la que el nombre de host se asigne en ese momento. La solicitud saliente real se realiza posteriormente utilizando el nombre de host original, sin fijar la IP validada a la conexión de red. Un atacante que puede proporcionar una URL a un bot público que realiza un bloqueo de solicitud HTTP del lado del servidor o una obtención de script del lado del servidor puede usar DNS rebinding para pasar la validación inicial y aún así forzar al servidor a conectarse a una dirección privada o de metadatos durante la solicitud real. Esto permite el acceso del lado del servidor a servicios de red privados, puntos finales de metadatos en la nube y otros objetivos HTTP internos que el validador pretendía bloquear. El impacto descendente exacto depende de los servicios internos accesibles. Las consecuencias concretas incluyen la divulgación de metadatos, el acceso a paneles de administración internos, el robo de credenciales de servicios de metadatos y un mayor compromiso a través de interfaces HTTP solo internas. Este problema ha sido solucionado en la versión 3.17.2."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "baptisteArno",
          "product": "typebot.io",
          "versions": [
            {
              "version": "< 3.17.2",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N",
          "baseScore": 8.2,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "UNCHANGED",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 4.2
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-06-18T13:06:39.058527Z",
          "id": "CVE-2026-48764",
          "options": [
            {
              "exploitation": "poc"
            },
            {
              "automatable": "yes"
            },
            {
              "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/baptisteArno/typebot.io/commit/f56c3c3f771df13a8c11e88f500dfdd78981bed1",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/baptisteArno/typebot.io/releases/tag/v3.17.2",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-hgqq-whf5-mrrf",
      "source": "[email protected]"
    },
    {
      "url": "https://github.com/baptisteArno/typebot.io/security/advisories/GHSA-hgqq-whf5-mrrf",
      "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0"
    }
  ]
}