The SentinelOne Annual Threat Report - A Defenders Guide from the FrontlinesThe SentinelOne Annual Threat ReportGet the Report
Experiencing a Breach?Blog
Get StartedContact Us
SentinelOne
  • Platform
    Platform Overview
    • Singularity Platform
      Welcome to Integrated Enterprise Security
    • AI for Security
      Leading the Way in AI-Powered Security Solutions
    • Securing AI
      Accelerate AI Adoption with Secure AI Tools, Apps, and Agents.
    • How It Works
      The Singularity XDR Difference
    • Singularity Marketplace
      One-Click Integrations to Unlock the Power of XDR
    • Pricing & Packaging
      Comparisons and Guidance at a Glance
    Data & AI
    • Purple AI
      Accelerate SecOps with Generative AI
    • Singularity Hyperautomation
      Easily Automate Security Processes
    • AI-SIEM
      The AI SIEM for the Autonomous SOC
    • Singularity Data Lake
      AI-Powered, Unified Data Lake
    • Singularity Data Lake for Log Analytics
      Seamlessly Ingest Data from On-Prem, Cloud or Hybrid Environments
    Endpoint Security
    • Singularity Endpoint
      Autonomous Prevention, Detection, and Response
    • Singularity XDR
      Native & Open Protection, Detection, and Response
    • Singularity RemoteOps Forensics
      Orchestrate Forensics at Scale
    • Singularity Threat Intelligence
      Comprehensive Adversary Intelligence
    • Singularity Vulnerability Management
      Application & OS Vulnerability Management
    • Singularity Identity
      Identity Threat Detection and Response
    Cloud Security
    • Singularity Cloud Security
      Block Attacks with an AI-Powered CNAPP
    • Singularity Cloud Native Security
      Secure Cloud and Development Resources
    • Singularity Cloud Workload Security
      Real-Time Cloud Workload Protection Platform
    • Singularity Cloud Data Security
      AI-Powered Threat Detection for Cloud Storage
    • Singularity Cloud Security Posture Management
      Detect and Remediate Cloud Misconfigurations
    Securing AI
    • Prompt Security
      Secure AI Tools Across Your Enterprise
  • Why SentinelOne?
    Why SentinelOne?
    • Why SentinelOne?
      Cybersecurity Built for What’s Next
    • Our Customers
      Trusted by the World’s Leading Enterprises
    • Industry Recognition
      Tested and Proven by the Experts
    • About Us
      The Industry Leader in Autonomous Cybersecurity
    Compare SentinelOne
    • Arctic Wolf
    • Broadcom
    • CrowdStrike
    • Cybereason
    • Microsoft
    • Palo Alto Networks
    • Sophos
    • Splunk
    • Trellix
    • Trend Micro
    • Wiz
    Verticals
    • Energy
    • Federal Government
    • Finance
    • Healthcare
    • Higher Education
    • K-12 Education
    • Manufacturing
    • Retail
    • State and Local Government
  • Services
    Managed Services
    • Managed Services Overview
      Wayfinder Threat Detection & Response
    • Threat Hunting
      World-Class Expertise and Threat Intelligence
    • Managed Detection & Response
      24/7/365 Expert MDR Across Your Entire Environment
    • Incident Readiness & Response
      DFIR, Breach Readiness, & Compromise Assessments
    Support, Deployment, & Health
    • Technical Account Management
      Customer Success with Personalized Service
    • SentinelOne GO
      Guided Onboarding & Deployment Advisory
    • SentinelOne University
      Live and On-Demand Training
    • Services Overview
      Comprehensive Solutions for Seamless Security Operations
    • SentinelOne Community
      Community Login
  • Partners
    Our Network
    • MSSP Partners
      Succeed Faster with SentinelOne
    • Singularity Marketplace
      Extend the Power of S1 Technology
    • Cyber Risk Partners
      Enlist Pro Response and Advisory Teams
    • Technology Alliances
      Integrated, Enterprise-Scale Solutions
    • SentinelOne for AWS
      Hosted in AWS Regions Around the World
    • Channel Partners
      Deliver the Right Solutions, Together
    • SentinelOne for Google Cloud
      Unified, Autonomous Security Giving Defenders the Advantage at Global Scale
    • Partner Locator
      Your Go-to Source for Our Top Partners in Your Region
    Partner Portal→
  • Resources
    Resource Center
    • Case Studies
    • Data Sheets
    • eBooks
    • Reports
    • Videos
    • Webinars
    • Whitepapers
    • Events
    View All Resources→
    Blog
    • Feature Spotlight
    • For CISO/CIO
    • From the Front Lines
    • Identity
    • Cloud
    • macOS
    • SentinelOne Blog
    Blog→
    Tech Resources
    • SentinelLABS
    • Ransomware Anthology
    • Cybersecurity 101
  • About
    About SentinelOne
    • About SentinelOne
      The Industry Leader in Cybersecurity
    • Investor Relations
      Financial Information & Events
    • SentinelLABS
      Threat Research for the Modern Threat Hunter
    • Careers
      The Latest Job Opportunities
    • Press & News
      Company Announcements
    • Cybersecurity Blog
      The Latest Cybersecurity Threats, News, & More
    • FAQ
      Get Answers to Our Most Frequently Asked Questions
    • DataSet
      The Live Data Platform
    • S Foundation
      Securing a Safer Future for All
    • S Ventures
      Investing in the Next Generation of Security, Data and AI
  • Pricing
Get StartedContact Us
CVE Vulnerability Database
Vulnerability Database/CVE-2026-25580

CVE-2026-25580: Pydantic AI SSRF Vulnerability

CVE-2026-25580 is a Server-Side Request Forgery flaw in Pydantic AI that allows attackers to access internal network resources through malicious URLs. This article covers technical details, affected versions, and mitigation.

Published: February 13, 2026

CVE-2026-25580 Overview

CVE-2026-25580 is a Server-Side Request Forgery (SSRF) vulnerability affecting Pydantic AI, a Python agent framework used for building applications and workflows with Generative AI. The vulnerability exists in Pydantic AI's URL download functionality and affects versions from 0.0.26 to before 1.56.0. When applications accept message history from untrusted sources, attackers can include malicious URLs that cause the server to make HTTP requests to internal network resources, potentially accessing internal services or cloud credentials.

Critical Impact

Attackers can exploit this SSRF vulnerability to access internal network resources, cloud metadata services, and sensitive credentials by manipulating URL download requests through untrusted message history inputs.

Affected Products

  • Pydantic AI versions >= 0.0.26 and < 1.56.0
  • Applications accepting message history from untrusted external sources
  • Systems using Pydantic AI's URL download functionality with FileUrl processing

Discovery Timeline

  • 2026-02-06 - CVE CVE-2026-25580 published to NVD
  • 2026-02-06 - Last updated in NVD database

Technical Details for CVE-2026-25580

Vulnerability Analysis

The SSRF vulnerability (CWE-918) in Pydantic AI stems from insufficient validation of URLs processed through the framework's download functionality. When an application built with Pydantic AI accepts message history from external users, the framework processes FileUrl objects contained within those messages. Prior to the patch, these URLs were not adequately validated for SSRF attacks, allowing attackers to craft malicious URLs targeting internal network resources.

The vulnerability is particularly dangerous in AI agent applications where message history may be loaded from external sources, such as conversation logs, user-provided context, or third-party integrations. An attacker could inject a malicious URL pointing to internal services (e.g., http://192.168.1.1/admin) or cloud metadata endpoints (e.g., http://169.254.169.254/latest/meta-data/) within the message history, causing the server to make unauthorized requests to these resources.

Root Cause

The root cause of this vulnerability is the lack of SSRF protection mechanisms in the URL download functionality. The original implementation did not:

  1. Validate URL protocols (allowing non-HTTP schemes)
  2. Block private/internal IP address ranges (RFC 1918 addresses)
  3. Prevent access to cloud metadata endpoints (169.254.169.254)
  4. Resolve hostnames before making requests to prevent DNS rebinding attacks

This allowed attackers to bypass network boundaries by submitting URLs that resolve to internal addresses after the application processes them.

Attack Vector

The attack vector is network-based and requires no authentication or user interaction. An attacker can exploit this vulnerability by:

  1. Identifying an application using Pydantic AI that accepts message history from external sources
  2. Crafting a malicious message history payload containing FileUrl objects pointing to internal resources
  3. Submitting the payload to the vulnerable application
  4. The server processes the malicious URLs and makes requests to internal network resources
  5. Sensitive data from internal services or cloud credentials is returned to the attacker
python
# Security patch introducing SSRF protection in messages.py
# Source: https://github.com/pydantic/pydantic-ai/commit/d398bc9d39aecca6530fa7486a410d5cce936301

 ]
"""Reason the model finished generating the response, normalized to OpenTelemetry values."""

+ForceDownloadMode: TypeAlias = bool | Literal['allow-local']
+"""Type for the force_download parameter on FileUrl subclasses.
+
+- `False`: The URL is sent directly to providers that support it. For providers that don't,
+  the file is downloaded with SSRF protection (blocks private IPs and cloud metadata).
+- `True`: The file is always downloaded with SSRF protection (blocks private IPs and cloud metadata).
+- `'allow-local'`: The file is always downloaded, allowing private IPs but still blocking cloud metadata.
+
+"""

ProviderDetailsDelta: TypeAlias = dict[str, Any] | Callable[[dict[str, Any] | None], dict[str, Any]] | None
"""Type for provider_details input: can be a static dict, a callback to update existing details, or None."""

Source: GitHub Commit Change

python
# Updated download function with SSRF protection documentation
# Source: https://github.com/pydantic/pydantic-ai/commit/d398bc9d39aecca6530fa7486a410d5cce936301

) -> DownloadedItem[str] | DownloadedItem[bytes]:
    """Download an item by URL and return the content as a bytes object or a (base64-encoded) string.

+    This function includes SSRF (Server-Side Request Forgery) protection:
+    - Only http:// and https:// protocols are allowed
+    - Private/internal IP addresses are blocked by default
+    - Cloud metadata endpoints (169.254.169.254) are always blocked
+    - Hostnames are resolved before requests to prevent DNS rebinding

+    Set `item.force_download='allow-local'` to allow private IP addresses.

    Args:
        item: The item to download.
        data_format: The format to return the content in:

Source: GitHub Commit Change

Detection Methods for CVE-2026-25580

Indicators of Compromise

  • Outbound HTTP requests from application servers to internal IP ranges (10.x.x.x, 172.16.x.x-172.31.x.x, 192.168.x.x)
  • HTTP requests targeting cloud metadata endpoints (169.254.169.254)
  • Unusual network traffic patterns from Pydantic AI application processes to internal services
  • Log entries showing URL downloads with private IP addresses or localhost references

Detection Strategies

  • Monitor application logs for URL download requests containing private IP addresses or cloud metadata URLs
  • Implement network-level monitoring for outbound requests from application servers to internal IP ranges
  • Deploy web application firewall (WAF) rules to detect SSRF attack patterns in request payloads
  • Review message history inputs for suspicious URL patterns before processing

Monitoring Recommendations

  • Enable verbose logging for Pydantic AI's URL download functionality to capture all processed URLs
  • Set up alerts for network requests from application servers to RFC 1918 address spaces
  • Monitor for DNS queries resolving to internal IP addresses from public-facing applications
  • Implement anomaly detection for unusual outbound request patterns from AI agent applications

How to Mitigate CVE-2026-25580

Immediate Actions Required

  • Upgrade Pydantic AI to version 1.56.0 or later immediately
  • Audit all applications using Pydantic AI that accept message history from external sources
  • Implement network segmentation to limit potential SSRF impact
  • Review and validate all external inputs before passing to Pydantic AI message processing

Patch Information

The vulnerability has been addressed in Pydantic AI version 1.56.0. The fix introduces comprehensive SSRF protection including protocol validation (HTTP/HTTPS only), private IP address blocking, cloud metadata endpoint blocking, and DNS rebinding prevention. For detailed information about the security fix, refer to the GitHub Security Advisory and the security patch commit.

Workarounds

  • If immediate upgrade is not possible, implement input validation to sanitize URLs in message history before processing
  • Deploy network-level controls to block outbound requests from application servers to internal IP ranges
  • Use the force_download='allow-local' parameter only when explicitly required and in trusted environments
  • Consider implementing an allowlist of permitted URL domains for file downloads
bash
# Configuration example - Upgrade Pydantic AI to patched version
pip install --upgrade pydantic-ai>=1.56.0

# Verify installed version
pip show pydantic-ai | grep Version

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

  • Vulnerability Details
  • TypeSSRF

  • Vendor/TechPydantic Ai

  • SeverityHIGH

  • CVSS Score8.6

  • EPSS Probability0.01%

  • Known ExploitedNo
  • CVSS Vector
  • CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
  • Impact Assessment
  • ConfidentialityLow
  • IntegrityNone
  • AvailabilityNone
  • CWE References
  • CWE-918
  • Technical References
  • GitHub Commit Change

  • GitHub Security Advisory
  • Latest CVEs
  • CVE-2025-9962: Novakon P Series Privilege Escalation

  • CVE-2026-1961: Foreman WebSocket Proxy RCE Vulnerability

  • CVE-2026-4903: Tenda AC5 Buffer Overflow Vulnerability

  • CVE-2026-4902: Tenda AC5 Buffer Overflow Vulnerability
Experience the World’s Most Advanced Cybersecurity Platform

Experience the World’s Most Advanced Cybersecurity Platform

See how our intelligent, autonomous cybersecurity platform can protect your organization now and into the future.

Try SentinelOne
  • Get Started
  • Get a Demo
  • Product Tour
  • Why SentinelOne
  • Pricing & Packaging
  • FAQ
  • Contact
  • Contact Us
  • Customer Support
  • SentinelOne Status
  • Language
  • Platform
  • Singularity Platform
  • Singularity Endpoint
  • Singularity Cloud
  • Singularity AI-SIEM
  • Singularity Identity
  • Singularity Marketplace
  • Purple AI
  • Services
  • Wayfinder TDR
  • SentinelOne GO
  • Technical Account Management
  • Support Services
  • Verticals
  • Energy
  • Federal Government
  • Finance
  • Healthcare
  • Higher Education
  • K-12 Education
  • Manufacturing
  • Retail
  • State and Local Government
  • Cybersecurity for SMB
  • Resources
  • Blog
  • Labs
  • Case Studies
  • Videos
  • Product Tours
  • Events
  • Cybersecurity 101
  • eBooks
  • Webinars
  • Whitepapers
  • Press
  • News
  • Ransomware Anthology
  • Company
  • About Us
  • Our Customers
  • Careers
  • Partners
  • Legal & Compliance
  • Security & Compliance
  • Investor Relations
  • S Foundation
  • S Ventures

©2026 SentinelOne, All Rights Reserved.

Privacy Notice Terms of Use

English