{"success":true,"data":{"threats":[{"id":"07e8b501-d5b4-48c7-a532-0ad4fd786942","slug":"cve-2026-107288","externalId":"CVE-2026-107288","source":"NVD","sourceType":"cve-db","type":"vulnerability","title":"CVE-2026-107288 — Pydantic AI is a Python agent framework for building applications and workflows with Generative AI.","description":"Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.77.0 until 1.107.6 and 2.44.0, the local web_fetch_tool and the WebFetch local fallback compare blocked_domains entries with a URL hostname before both values are normalized to the form used by getaddrinfo. An attacker-influenced model can use an equivalent IDNA spelling, non-ASCII label separator, case variation, or trailing root label that resolves to a blocked host but does not match the configured string, causing the application to fetch that host with its own privileges. allowed_domains fails closed for unmatched spellings, and private-IP and cloud-metadata protections remain effective. This issue is fixed in versions 1.107.6 and 2.44.0.","cveId":"CVE-2026-107288","cvssScore":3.7,"cvssVector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","severity":"low","vendor":null,"product":null,"affectedVersions":[],"cwes":["CWE-918","CWE-1289"],"tags":["nvd","status:received","status:awaiting-analysis"],"relatedCves":[],"titleFingerprint":null,"countryCodes":[],"knownExploited":false,"patchAvailable":false,"patchLinks":[],"references":[{"url":"https://github.com/pydantic/pydantic-ai/commit/490335f8e2322e143a79337ddca9410e0176c812","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/commit/a9dab92099d0ef9d5d4aa34ccac8a6f1b0e51284","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/commit/c1f212a084cbfa0012f2044cdb4731d214b3b983","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8407","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8409","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8421","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.6","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/releases/tag/v2.44.0","type":"advisory","title":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-22h6-qm39-v87j","type":"advisory","title":"security-advisories@github.com"}],"epssScore":null,"epssPercentile":null,"nucleiTemplatePath":null,"nucleiSeverity":null,"enrichment":null,"publishedAt":"2026-10-08T16:17:04.147Z","addedAt":"2026-10-08T16:39:36.017Z","updatedAt":"2026-10-08T21:05:50.743Z","epssUpdatedAt":null,"nucleiUpdatedAt":null,"links":[{"label":"NVD","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-107288","note":"ingested from NVD"},{"label":"CVE Program","url":"https://www.cve.org/CVERecord?id=CVE-2026-107288","note":"authoritative record"}],"raw":{"id":"CVE-2026-107288","cveTags":[],"metrics":{"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"id":"CVE-2026-107288","role":"CISA Coordinator","options":[{"exploitation":"none"},{"automatable":"no"},{"technicalImpact":"partial"}],"version":"2.0.3","timestamp":"2026-10-08T17:28:31.014859Z"}}],"cvssMetricV31":[{"type":"Secondary","source":"security-advisories@github.com","cvssData":{"scope":"UNCHANGED","version":"3.1","baseScore":3.7,"attackVector":"NETWORK","baseSeverity":"LOW","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"HIGH","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"LOW"},"impactScore":1.4,"exploitabilityScore":2.2}]},"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"pydantic","product":"pydantic-ai","versions":[{"status":"affected","version":">= 1.77.0, < 1.107.6"},{"status":"affected","version":">= 2.0.0b1, < 2.44.0"}]},{"vendor":"pydantic","product":"pydantic-ai-slim","versions":[{"status":"affected","version":">= 1.77.0, < 1.107.6"},{"status":"affected","version":">= 2.0.0b1, < 2.44.0"}]}]}],"published":"2026-10-08T16:17:04.147","references":[{"url":"https://github.com/pydantic/pydantic-ai/commit/490335f8e2322e143a79337ddca9410e0176c812","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/commit/a9dab92099d0ef9d5d4aa34ccac8a6f1b0e51284","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/commit/c1f212a084cbfa0012f2044cdb4731d214b3b983","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8407","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8409","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/pull/8421","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.6","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/releases/tag/v2.44.0","source":"security-advisories@github.com"},{"url":"https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-22h6-qm39-v87j","source":"security-advisories@github.com"}],"vulnStatus":"Awaiting Analysis","weaknesses":[{"type":"Secondary","source":"security-advisories@github.com","description":[{"lang":"en","value":"CWE-918"},{"lang":"en","value":"CWE-1289"}]}],"descriptions":[{"lang":"en","value":"Pydantic AI is a Python agent framework for building applications and workflows with Generative AI. From 1.77.0 until 1.107.6 and 2.44.0, the local web_fetch_tool and the WebFetch local fallback compare blocked_domains entries with a URL hostname before both values are normalized to the form used by getaddrinfo. An attacker-influenced model can use an equivalent IDNA spelling, non-ASCII label separator, case variation, or trailing root label that resolves to a blocked host but does not match the configured string, causing the application to fetch that host with its own privileges. allowed_domains fails closed for unmatched spellings, and private-IP and cloud-metadata protections remain effective. This issue is fixed in versions 1.107.6 and 2.44.0."}],"lastModified":"2026-10-08T20:35:31.200","sourceIdentifier":"security-advisories@github.com"}}],"pagination":{"page":1,"limit":20,"total":1,"totalPages":1,"hasNext":false,"hasPrev":false}},"meta":{"apiVersion":"v1","requestedAt":"2026-10-08T23:54:55.321Z","durationMs":6,"filters":{"search":null,"severity":[],"type":[],"country":[],"tag":[],"cwe":[],"vendor":null,"product":null,"cve":"CVE-2026-107288","source":[],"days":null,"publishedAfter":null,"publishedBefore":null,"minCvss":null,"maxCvss":null,"minEpss":null,"knownExploited":null,"hasPatch":null,"hasNucleiTemplate":null},"sort":"newest","unknownParams":["include"],"warnings":[]}}