Vulnerability · Published Jul 6, 2026 · Assigned by GitHub_M

CVE-2026-58203NestedSecretsSettingsSource follows symlinks outside secrets_dir, enabling local file read and bypassing secrets_dir_max_size

Medium 5.3

In plain English

A medium-severity path traversal in pydantic-settings from pydantic. Proof-of-concept exploit code is public. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 8% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)5.3Medium
Exploit odds (30 days)0.2%top 91.9% of all CVEs
Exploited in the wildNo reportsCISA SSVC: poc
Attack toolingNoneno public tooling known

Official description

pydantic-settings provides settings management using Pydantic. From 2.12.0 until 2.14.2, NestedSecretsSettingsSource reads secret values from files in a configured secrets_dir. When secrets_nested_subdir=True, a directory entry inside secrets_dir that is a symbolic link pointing outside secrets_dir is followed, so files outside the configured directory are read into settings values. The same code path bypasses the documented secrets_dir_max_size protection. An attacker or lower-privileged component able to influence entries in the configured secrets directory (for example, a writable or shared secrets mount) can turn this into an unintended local file read into settings and can defeat the advertised loading-size cap. This vulnerability is fixed in 2.14.2.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14pydantic-settings2.14.2-1DEBIAN-CVE-2026-58203
PyPIpydantic-settings2.14.2GHSA-4xgf-cpjx-pc3j
Ubuntu:25.10pydantic-settingsno fix listedUBUNTU-CVE-2026-58203
Ubuntu:26.04:LTSpydantic-settingsno fix listedUBUNTU-CVE-2026-58203

Affected products (as reported)

VendorProductVersions
pydantic pydantic-settings >= 2.12.0, < 2.14.2

Weakness: CWE-22, CWE-59, CWE-400 · Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:L

References