« Volver al listado

CVE-2026-107286

Estado: AnalizadaAlta (7.5)—

Pydantic AI es un framework de agentes en Python para crear aplicaciones y flujos de trabajo con IA generativa. Desde la 2.10.0 hasta la 2.53.0, las solicitudes en streaming realizadas mediante ConcurrencyLimitedModel o limit_model_concurrency pueden retener plazas de concurrencia compartidas porque anyio.CapacityLimiter asocia una plaza adquirida a la tarea que la toma prestada, mientras que la limpieza del streaming puede ejecutarse en una tarea diferente.

Leer descripción completaMostrar menos

Por tanto, la terminación anticipada del flujo, la cancelación, las excepciones del consumidor o el consumo completo de stream_text() con debounce_by=0.1 pueden dejar capacidad ocupada, impidiendo finalmente que avancen las solicitudes posteriores que comparten el limitador de larga duración y provocando una denegación de servicio. max_concurrency a nivel de agente y las solicitudes al modelo sin streaming no están afectados. Este problema está corregido en la versión 2.53.0.

Traducción automática del texto original de NVD (en inglés).

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Inferido por reglas deterministas a partir del vector CVSS y la CWE. Solo orientativo.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

CWE

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-107286",
  "cveTags": [],
  "metrics": {
    "ssvcV203": [
      {
        "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
        "ssvcData": {
          "id": "CVE-2026-107286",
          "role": "CISA Coordinator",
          "options": [
            {
              "exploitation": "none"
            },
            {
              "automatable": "yes"
            },
            {
              "technicalImpact": "partial"
            }
          ],
          "version": "2.0.3",
          "timestamp": "2026-10-08T17:26:50.651820Z"
        }
      }
    ],
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "security-advisories@github.com",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.5,
          "attackVector": "NETWORK",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H",
          "integrityImpact": "NONE",
          "userInteraction": "NONE",
          "attackComplexity": "LOW",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "NONE"
        },
        "impactScore": 3.6,
        "exploitabilityScore": 3.9
      }
    ]
  },
  "affected": [
    {
      "source": "security-advisories@github.com",
      "affectedData": [
        {
          "vendor": "pydantic",
          "product": "pydantic-ai",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.10.0, < 2.53.0"
            }
          ]
        },
        {
          "vendor": "pydantic",
          "product": "pydantic-ai-slim",
          "versions": [
            {
              "status": "affected",
              "version": ">= 2.10.0, < 2.53.0"
            }
          ]
        }
      ]
    }
  ],
  "published": "2026-10-08T15:17:40.753",
  "references": [
    {
      "url": "https://github.com/pydantic/pydantic-ai/commit/453f19feeb7ab1d789f9393b1723c6a73b3d77b2",
      "tags": [
        "Patch"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/pydantic/pydantic-ai/pull/9478",
      "tags": [
        "Patch",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/pydantic/pydantic-ai/releases/tag/v2.53.0",
      "tags": [
        "Patch",
        "Release Notes",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    },
    {
      "url": "https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-6fqq-452j-qhrp",
      "tags": [
        "Mitigation",
        "Vendor Advisory"
      ],
      "source": "security-advisories@github.com"
    }
  ],
  "vulnStatus": "Analyzed",
  "weaknesses": [
    {
      "type": "Secondary",
      "source": "security-advisories@github.com",
      "description": [
        {
          "lang": "en",
          "value": "CWE-772"
        }
      ]
    }
  ],
  "descriptions": [
    {
      "lang": "en",
      "value": "Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 2.10.0 until 2.53.0, streamed requests made through ConcurrencyLimitedModel or limit_model_concurrency can retain shared concurrency slots because anyio.CapacityLimiter associates an acquired slot with the borrowing task while streaming cleanup can run in a different task. Early stream termination, cancellation, consumer exceptions, or complete stream_text() consumption with debounce_by=0.1 can therefore leave capacity occupied, eventually preventing later requests that share the long-lived limiter from proceeding and causing a denial of service. Agent-level max_concurrency and non-streaming model requests are not affected. This issue is fixed in version 2.53.0."
    }
  ],
  "lastModified": "2026-10-13T14:36:51.687",
  "configurations": [
    {
      "nodes": [
        {
          "negate": false,
          "cpeMatch": [
            {
              "criteria": "cpe:2.3:a:pydantic:pydantic_ai:*:-:*:*:*:python:*:*",
              "vulnerable": true,
              "matchCriteriaId": "6A10FF61-78E8-4427-85E4-B63DE2C32EB2",
              "versionEndExcluding": "2.53.0",
              "versionStartIncluding": "2.10.0"
            }
          ],
          "operator": "OR"
        }
      ]
    }
  ],
  "sourceIdentifier": "security-advisories@github.com"
}