CVE-2026-46678 Vulnerability Analysis & Exploit Details

CVE-2026-46678
Vulnerability Scoring

6.8
/10
High Risk

If left unpatched, CVE-2026-46678 could lead to major system disruptions or data loss.

Attack Complexity Details

  • Attack Complexity: High
    Exploits require significant effort and special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Changed
    Successful exploitation can impact components beyond the vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2026-46678 Details

Status: Analyzed

Last updated: 🕜 04 Aug 2026, 13:52 UTC
Originally published on: 🕘 29 Jul 2026, 21:17 UTC

Time between publication and last update: 5 days

CVSS Release: version 3

CVSS3 Source

security-advisories@github.com

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:N/A:N

CVE-2026-46678 Vulnerability Summary

CVE-2026-46678: Pydantic AI is a Python agent framework for building Generative AI applications. In versions 1.56.0 through 1.98.0, when an application opts a URL into force_download='allow-local' (disabling the default block on private/internal IPs), the cloud-metadata blocklist could be bypassed by encoding the metadata IP in an IPv6 transition form (IPv4-mapped IPv6, 6to4, or NAT64), exposing cloud IAM short-term credentials on dual-stack or translated networks. This is an incomplete fix of GHSA-2jrp-274c-jhv3 / CVE-2026-25580, whose remediation did not hold for IPv6-encoded forms of the metadata IPs. An application is affected only if it explicitly opts a FileUrl (ImageUrl, AudioUrl, VideoUrl, DocumentUrl) into force_download='allow-local' on a URL influenced by untrusted input; it is not affected when using bundled integrations to ingest user input (Agent.to_web / clai web, VercelAIAdapter, AGUIAdapter / Agent.to_ag_ui), since they do not propagate force_download from external data, nor when downloading only from developer-controlled URLs. This issue has been fixed in version 1.99.0.

Assessing the Risk of CVE-2026-46678

Access Complexity Graph

The exploitability of CVE-2026-46678 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2026-46678

CVE-2026-46678 presents a challenge to exploit due to its high attack complexity, but the absence of privilege requirements still makes it a viable target for skilled attackers. A thorough security review is advised.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2026-46678, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2026-46678, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2026-46678 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: None
    CVE-2026-46678 poses no threat to data integrity.
  • Availability: None
    CVE-2026-46678 does not impact system availability.

CVE-2026-46678 References

External References

CWE Common Weakness Enumeration

CWE-918

CAPEC Common Attack Pattern Enumeration and Classification

  • Server Side Request Forgery CAPEC-664 An adversary exploits improper input validation by submitting maliciously crafted input to a target application running on a server, with the goal of forcing the server to make a request either to itself, to web services running in the server’s internal network, or to external third parties. If successful, the adversary’s request will be made with the server’s privilege level, bypassing its authentication controls. This ultimately allows the adversary to access sensitive data, execute commands on the server’s network, and make external requests with the stolen identity of the server. Server Side Request Forgery attacks differ from Cross Site Request Forgery attacks in that they target the server itself, whereas CSRF attacks exploit an insecure user authentication mechanism to perform unauthorized actions on the user's behalf.

Vulnerable Configurations

  • cpe:2.3:a:pydantic:pydantic_ai:1.56.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.56.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.57.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.57.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.58.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.58.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.59.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.59.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.60.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.60.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.61.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.61.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.62.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.62.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.63.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.63.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.64.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.64.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.65.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.65.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.66.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.66.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.67.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.67.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.68.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.68.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.69.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.69.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.70.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.70.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.71.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.71.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.72.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.72.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.73.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.73.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.74.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.74.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.75.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.75.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.76.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.76.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.77.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.77.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.78.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.78.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.79.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.79.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.80.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.80.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.81.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.81.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.82.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.82.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.83.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.83.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.84.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.84.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.84.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.84.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.85.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.85.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.85.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.85.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.86.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.86.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.86.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.86.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.87.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.87.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.88.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.88.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.89.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.89.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.89.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.89.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.90.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.90.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.91.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.91.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.92.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.92.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.93.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.93.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.94.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.94.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.95.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.95.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.95.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.95.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.96.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.96.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.96.1:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.96.1:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.97.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.97.0:*:*:*:*:python:*:*
  • cpe:2.3:a:pydantic:pydantic_ai:1.98.0:*:*:*:*:python:*:*
    cpe:2.3:a:pydantic:pydantic_ai:1.98.0:*:*:*:*:python:*:*

Protect Your Infrastructure against CVE-2026-46678: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2026-97163 – Joomla Extension - lomart.fr - Unauthenticated remote code installation in UP plugin extension 5.0.0-5.2.0, 6.0.0-6.0.29
  • CVE-2026-97162 – Joomla Extension - lomart.fr - Various SQL injection vectors in UP plugin extension 5.0.0-5.2.0, 6.0.0-6.0.29
  • CVE-2026-97161 – Joomla Extension - lomart.fr - Various path traversal / file access vectors in UP plugin extension 5.0.0-5.2.0, 6.0.0-6.0.29
  • CVE-2026-97160 – Joomla Extension - lomart.fr - Authenticated, privileged PHP command injection in UP plugin extension 5.0.0-5.2.0, 6.0.0-6.0.29
  • CVE-2026-94132 – Joomla Extension - acymailing.com - Remote Code Execution vulnerability in mailbox action feature in AcyMailing Enterprise extension < 11.1.0 - MIM...