← Back to CVE Explorer

CVE-2026-41488

Full vulnerability record from the local CVENow database.

Description

LangChain is a framework for building agents and LLM-powered applications. Prior to 1.1.14, langchain-openai's _url_to_size() helper (used by get_num_tokens_from_messages for image token counting) validated URLs for SSRF protection and then fetched them in a separate network operation with independent DNS resolution. This left a TOCTOU / DNS rebinding window: an attacker-controlled hostname could resolve to a public IP during validation and then to a private/localhost IP during the actual fetch.

Severity
LOW
CVSS score
3.1 (v3.1)
Vulnerability status
Analyzed
Source identifier
Published
2026-04-24 21:16:19.637000
Last modified
2026-10-26 21:10:00.170000
View original CVE JSON
{
  "id": "CVE-2026-41488",
  "sourceIdentifier": "[email protected]",
  "published": "2026-04-24T21:16:19.637",
  "lastModified": "2026-10-26T21:10:00.170",
  "vulnStatus": "Analyzed",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "LangChain is a framework for building agents and LLM-powered applications. Prior to 1.1.14, langchain-openai's _url_to_size() helper (used by get_num_tokens_from_messages for image token counting) validated URLs for SSRF protection and then fetched them in a separate network operation with independent DNS resolution. This left a TOCTOU / DNS rebinding window: an attacker-controlled hostname could resolve to a public IP during validation and then to a private/localhost IP during the actual fetch."
    },
    {
      "lang": "es",
      "value": "LangChain es un framework para construir agentes y aplicaciones impulsadas por LLM. Antes de la versión 1.1.14, el asistente _url_to_size() de langchain-openai (utilizado por get_num_tokens_from_messages para el recuento de tokens de imagen) validaba las URL para la protección contra SSRF y luego las obtenía en una operación de red separada con resolución DNS independiente. Esto dejaba una ventana de TOCTOU / revinculación de DNS: un nombre de host controlado por un atacante podría resolverse a una IP pública durante la validación y luego a una IP privada/localhost durante la obtención real."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "langchain-ai",
          "product": "langchain-openai",
          "versions": [
            {
              "version": "< 1.1.14",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Secondary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:N/A:N",
          "baseScore": 3.1,
          "baseSeverity": "LOW",
          "attackVector": "NETWORK",
          "attackComplexity": "HIGH",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "UNCHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "NONE",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 1.6,
        "impactScore": 1.4
      }
    ],
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "timestamp": "2026-04-27T13:40:34.758273Z",
          "id": "CVE-2026-41488",
          "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"
        }
      ]
    }
  ],
  "configurations": [
    {
      "nodes": [
        {
          "operator": "OR",
          "negate": false,
          "cpeMatch": [
            {
              "vulnerable": true,
              "criteria": "cpe:2.3:a:langchain:langchain-openai:*:*:*:*:*:*:*:*",
              "versionEndExcluding": "1.1.14",
              "matchCriteriaId": "8089EE72-7257-4263-BF4E-8B429B2C0002"
            }
          ]
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://github.com/langchain-ai/langchain/security/advisories/GHSA-r7w7-9xr2-qq2r",
      "source": "[email protected]",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ]
    }
  ]
}