3.7
LOW CVSS 3.1
CVE-2026-107288
Pydantic AI: web_fetch_tool blocked_domains bypass via a hostname the resolver normalizes differently
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.

INFO

Published Date :

Oct. 8, 2026, 4:17 p.m.

Last Modified :

Oct. 8, 2026, 6:17 p.m.

Remotely Exploit :

Yes !
Affected Products

The following products are affected by CVE-2026-107288 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Pydantic pydantic_ai
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 134c704f-9b21-4f2e-91b3-4a467353bcc0
CVSS 3.1 LOW MITRE-CVE
CVSS 3.1 LOW [email protected]
Solution
Update Pydantic AI to a fixed version to resolve hostname comparison issues.
  • Update Pydantic AI to version 1.107.6 or later.
  • Update Pydantic AI to version 2.44.0 or later.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-107288 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-107288 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-107288 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-107288 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by 134c704f-9b21-4f2e-91b3-4a467353bcc0

    Oct. 08, 2026

    Action Type Old Value New Value
    Added SSVC {'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'}
  • New CVE Received by [email protected]

    Oct. 08, 2026

    Action Type Old Value New Value
    Added 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.
    Added CVSS V3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
    Added CWE CWE-918
    Added CWE CWE-1289
    Added Affected New affected value received. <a href="https://github.com/CVEProject/cvelistV5/blob/main/cves/2026/107xxx/CVE-2026-107288.json">CVE-2026-107288</a>
    Added Reference https://github.com/pydantic/pydantic-ai/commit/490335f8e2322e143a79337ddca9410e0176c812
    Added Reference https://github.com/pydantic/pydantic-ai/commit/a9dab92099d0ef9d5d4aa34ccac8a6f1b0e51284
    Added Reference https://github.com/pydantic/pydantic-ai/commit/c1f212a084cbfa0012f2044cdb4731d214b3b983
    Added Reference https://github.com/pydantic/pydantic-ai/pull/8407
    Added Reference https://github.com/pydantic/pydantic-ai/pull/8409
    Added Reference https://github.com/pydantic/pydantic-ai/pull/8421
    Added Reference https://github.com/pydantic/pydantic-ai/releases/tag/v1.107.6
    Added Reference https://github.com/pydantic/pydantic-ai/releases/tag/v2.44.0
    Added Reference https://github.com/pydantic/pydantic-ai/security/advisories/GHSA-22h6-qm39-v87j
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.