{"items":[{"id":"NVI-00010619","kind":"vulnerability","title":"Pydantic AI: Unvalidated UploadedFile references in UI adapters allow server-side file access using the application's credentials","revision":4,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-h7p7-w5gc-xj3w","CVE-2026-54249"],"plain_summary":"GitHub lists this reviewed advisory for pydantic-ai-slim, pydantic-ai-slim, pydantic-ai, pydantic-ai. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-026b5913e249e4fabc9e9f2f7daa23ec"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-22T08:27:23.000Z","value":"6.8 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-6f2c0db613ea0f116b32de6d282dc260"},{"kind":"CVSS","as_of":"2026-08-04T13:22:03.630Z","value":"6.8 MEDIUM (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-164f3c1912486539aa6b34676204c3ee"},{"kind":"EPSS","as_of":"2026-11-05T12:03:04.000Z","value":"0.315%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.24534. Missing scores are unknown.","source_id":"sr-026b5913e249e4fabc9e9f2f7daa23ec"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-6f2c0db613ea0f116b32de6d282dc260","url":"https://github.com/advisories/GHSA-h7p7-w5gc-xj3w","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-h7p7-w5gc-xj3w","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"},{"id":"sr-164f3c1912486539aa6b34676204c3ee","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54249","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-54249","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-03T22:35:50.402Z"},{"id":"sr-026b5913e249e4fabc9e9f2f7daa23ec","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-54249","publisher":"FIRST EPSS","observed_at":"2026-11-06T07:17:46.383Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]}],"null_published_at":"2026-11-07T07:07:42.526Z","source_updated_at":"2026-10-22T08:27:23.000Z","source_disclosed_at":"2026-08-13T14:16:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-10-31T22:07:30.906Z"},{"id":"NVI-00010619","kind":"vulnerability","title":"Pydantic AI: Unvalidated UploadedFile references in UI adapters allow server-side file access using the application's credentials","revision":3,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected.","NVD lastModified does not establish freshness of every associated CPE record."],"lifecycle":"active","identifiers":["GHSA-h7p7-w5gc-xj3w","CVE-2026-54249"],"plain_summary":"GitHub lists this reviewed advisory for pydantic-ai-slim, pydantic-ai-slim, pydantic-ai, pydantic-ai. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-1e5640dd68a80d56dc59c4c99264de66"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-22T08:27:23.000Z","value":"6.8 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-6f2c0db613ea0f116b32de6d282dc260"},{"kind":"CVSS","as_of":"2026-08-04T13:22:03.630Z","value":"6.8 MEDIUM (3.1)","meaning":"security-advisories@github.com severity; no combined Null risk score.","source_id":"sr-164f3c1912486539aa6b34676204c3ee"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.315%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.24437. Missing scores are unknown.","source_id":"sr-1e5640dd68a80d56dc59c4c99264de66"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-6f2c0db613ea0f116b32de6d282dc260","url":"https://github.com/advisories/GHSA-h7p7-w5gc-xj3w","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-h7p7-w5gc-xj3w","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"},{"id":"sr-164f3c1912486539aa6b34676204c3ee","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-54249","basis":"official_catalog","notes":"This product uses data from the NVD API but is not endorsed or certified by the NVD.","title":"CVE-2026-54249","publisher":"NIST National Vulnerability Database","observed_at":"2026-11-03T22:35:50.402Z"},{"id":"sr-1e5640dd68a80d56dc59c4c99264de66","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-54249","publisher":"FIRST EPSS","observed_at":"2026-10-31T23:13:27.697Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]}],"null_published_at":"2026-11-04T10:04:35.913Z","source_updated_at":"2026-10-22T08:27:23.000Z","source_disclosed_at":"2026-08-13T14:16:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Source facts changed; compare the preserved prior revision.","null_first_observed_at":"2026-10-31T22:07:30.906Z"},{"id":"NVI-00010619","kind":"vulnerability","title":"Pydantic AI: Unvalidated UploadedFile references in UI adapters allow server-side file access using the application's credentials","revision":2,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-h7p7-w5gc-xj3w","CVE-2026-54249"],"plain_summary":"GitHub lists this reviewed advisory for pydantic-ai-slim, pydantic-ai-slim, pydantic-ai, pydantic-ai. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-1e5640dd68a80d56dc59c4c99264de66"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-22T08:27:23.000Z","value":"6.8 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-6f2c0db613ea0f116b32de6d282dc260"},{"kind":"EPSS","as_of":"2026-10-31T12:00:27.000Z","value":"0.315%","meaning":"FIRST EPSS model v2026.06.15; exploitation probability over 30 days, percentile 0.24437. Missing scores are unknown.","source_id":"sr-1e5640dd68a80d56dc59c4c99264de66"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-6f2c0db613ea0f116b32de6d282dc260","url":"https://github.com/advisories/GHSA-h7p7-w5gc-xj3w","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-h7p7-w5gc-xj3w","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"},{"id":"sr-1e5640dd68a80d56dc59c4c99264de66","url":"https://www.first.org/epss/data.html","basis":"official_catalog","notes":"FIRST EPSS; probability of exploitation in the next 30 days, not local compromise. Dataset date/model retained; FIRST services terms apply.","title":"CVE-2026-54249","publisher":"FIRST EPSS","observed_at":"2026-10-31T23:13:27.697Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]}],"null_published_at":"2026-10-31T23:18:22.441Z","source_updated_at":"2026-10-22T08:27:23.000Z","source_disclosed_at":"2026-08-13T14:16:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"Dated EPSS estimate updated; this is not a new disclosure or proof of exploitation.","null_first_observed_at":"2026-10-31T22:07:30.906Z"},{"id":"NVI-00010619","kind":"vulnerability","title":"Pydantic AI: Unvalidated UploadedFile references in UI adapters allow server-side file access using the application's credentials","revision":1,"unknowns":["Customer inventory, deployment, reachability and exploitation have not been inspected."],"lifecycle":"active","identifiers":["GHSA-h7p7-w5gc-xj3w","CVE-2026-54249"],"plain_summary":"GitHub lists this reviewed advisory for pydantic-ai-slim, pydantic-ai-slim, pydantic-ai, pydantic-ai. Published version ranges and source prerequisites are shown below; this is not an inspection of a visitor’s application.","review_status":"source_listed","control_topics":[],"public_actions":[{"summary":"Identify the exact component and deployed version, examine the linked publisher’s conditions, and retain evidence of any mitigation.","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"action_type":"investigate","limitations":"Confirm current vendor support, compatibility and deployment evidence. This report has not tested a fix in your system.","current_supported_target":null}],"schema_version":"1.1.0","source_metrics":[{"kind":"CVSS","as_of":"2026-10-22T08:27:23.000Z","value":"6.8 medium","meaning":"GitHub source severity; exploitability and local consequence require separate evidence.","source_id":"sr-6f2c0db613ea0f116b32de6d282dc260"}],"why_it_matters":"Published affected context helps an owner decide what evidence to gather. This report has not examined your application.","related_sources":[{"id":"sr-6f2c0db613ea0f116b32de6d282dc260","url":"https://github.com/advisories/GHSA-h7p7-w5gc-xj3w","basis":"vendor_advisory","notes":"GitHub Advisory Database; CC-BY-4.0. Each advisory links its original attribution. Null normalizes fields.","title":"GHSA-h7p7-w5gc-xj3w","publisher":"GitHub Advisory Database","observed_at":"2026-10-31T22:07:30.906Z"}],"affected_context":[{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai-slim","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 1.65.0, < 1.106.0"]},{"certainty":"source_listed","source_ids":["sr-6f2c0db613ea0f116b32de6d282dc260"],"technology":"pydantic-ai","known_exclusions":[],"conditions_summary":"### Summary\n\nA client that can submit message history to a Pydantic AI UI adapter can reference arbitrary files in the application's model-provider or cloud-storage account. The server forwards the reference to the model provider, which fetches it using the server's own credentials, allowing the client to read files it should not have access to.\n\n### Details\n\nUI adapters reconstruct file parts from client-submitted message history and forward them to the model provider. File **URL** parts are validated against a scheme allowlist before being forwarded, but `UploadedFile` references — which point to a file by provider file ID or cloud-storage URI (e.g. `s3://…`, `gs://…`) — were forwarded without validation.\n\nBecause the provider resolves an `UploadedFile` using the server-side identity (IAM role, service account, or provider API key) rather than the client's, a client that crafts message history containing an attacker-chosen `UploadedFile` can cause the server to read objects belonging to its own account or to other tenants, given a referenceable identifier.\n\n### Impact\n\nApplications that pass untrusted client-submitted message history to an agent through a UI adapter (such as the ","public_affected_ranges":[">= 2.0.0b1, < 2.0.0b6"]}],"null_published_at":"2026-10-31T22:27:09.626Z","source_updated_at":"2026-10-22T08:27:23.000Z","source_disclosed_at":"2026-08-13T14:16:26.000Z","is_synthetic_fixture":false,"null_last_reviewed_at":null,"public_change_summary":"First indexed by Null; source disclosure date is shown separately.","null_first_observed_at":"2026-10-31T22:07:30.906Z"}],"next_cursor":null,"snapshot_revision":"42594"}