Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain local process access to container
-
DeliveryEnumerate world-readable files in /tmp
-
ExploitIdentify Steeltoe-written TLS credential files
-
ExecutionExtract SSL private key material
-
PersistPresent stolen client certificate to database
-
ImpactImpersonate application in mTLS session
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V14 - Data Protection Encrypted storage of sensitive data
|
| Exploitation Conditions | All four of the following conditions must be met simultaneously: (1) The application must run Steeltoe.Configuration.Abstractions 4.0.0-4.1.0 - earlier and later versions are not affected; (2) The Cloud Foundry environment must supply MySQL or PostgreSQL service bindings in VCAP_SERVICES that include TLS client credentials (ssl-cert, ssl-key, ssl-ca for MySQL; SSL Certificate, SSL Key, Root Certificate for PostgreSQL) - bindings without TLS client certs do not trigger the vulnerable code path; (3) The host operating system must be Linux - the fix code explicitly bypasses the secure file creation path on Windows, and File.CreateText on Windows does not produce world-readable files in the same way; (4) The attacker must have local process execution capability within the same container under a UID different from the application process UID, with read access to Path.GetTempPath(). Exploitation is blocked by: single-UID container enforcement, absence of TLS client credentials in VCAP_SERVICES, Windows deployment, use of Kubernetes service bindings instead of Cloud Foundry VCAP_SERVICES, or versions outside the 4.0.0-4.1.0 range. |
| Impact | The provided CVSS 3.1 vector (AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N, score 4.7) accurately characterizes this vulnerability. AV:L is appropriate because the attacker must be a local process on the same container; AC:H reflects the non-trivial precondition that another process operating under a different UID must be present and able to access /tmp - a constraint that materially limits exploitation in strict single-UID container deployments. The C:H impact is fully justified: the exposed material includes TLS private keys usable for client impersonation against database servers enforcing mTLS. There is no integrity or availability impact directly from the file exposure. No EPSS score was provided in the source data, so exploitation probability cannot be quantified numerically. No KEV listing exists and no POC code has been identified, meaning this is a disclosed-but-not-actively-exploited vulnerability. Real-world severity is highest for multi-process or shared-UID container environments on Cloud Foundry, and lowest (non-exploitable) for properly isolated single-UID containers, Kubernetes deployments, Windows hosts, and applications not using TLS client credentials. The file persistence issue means exposure compounds over container uptime - a long-running container accumulates more temp files that are never cleaned up. |
| Exploit ScenarioDerived | An attacker who has obtained low-privilege local execution within a Linux Cloud Foundry container running a Steeltoe 4.0.0-4.1.0 application with MySQL or PostgreSQL TLS bindings can enumerate /tmp for world-readable PEM files written by the Connectors library, extract the TLS private key, and subsequently impersonate the application to the database server in mTLS-authenticated sessions. No public exploit code has been identified, but the attack requires only standard file system enumeration tools once local access is established. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 17, 2026
Steeltoe.Configuration.Abstractions 4.0.0-4.1.0 permanently exposes TLS client private key material to world-readable temporary files on Linux when Cloud Foundry MySQL or PostgreSQL service bindings supply SSL credentials via VCAP_SERVICES. The Connectors library writes SSL certificate, private key, and CA files to Path.GetTempPath() using File.CreateText, which on Linux creates files at mode 0644 (owner read/write, group read, world read) with no cleanup mechanism, leaving key material readable by any co-located process for the container's lifetime. Vendor-released patch 4.2.0 resolves both the permission issue (restricting new temp files to mode 0600) and the missing cleanup via IDisposable; no public exploit has been identified at time of analysis.
RemediationAI
Upgrade to Steeltoe.Configuration.Abstractions 4.2.0, which is the vendor-released patch that resolves both the insecure file permissions (switching to mode 0600 via FileStreamOptions.UnixCreateMode on Linux) and the missing temp-file cleanup (IDisposable pattern across CloudFoundryPostProcessor and PostProcessorConfigurationProvider). The fix is confirmed by upstream commit https://github.com/SteeltoeOSS/Steeltoe/commit/8dd97cc6c4b184121a4bd1f92f9ac16918433471 and vendor advisory https://github.com/SteeltoeOSS/security-advisories/security/advisories/GHSA-rxrh-4j9h-xgg9. If an immediate upgrade is not possible, the vendor-recommended compensating control is to ensure no other processes run in the container under a different UID with access to /tmp - achievable by enforcing a single non-root UID for all container processes, configuring Linux user namespaces to isolate UID space, or remounting /tmp as a private tmpfs accessible only to the application user (note: a private tmpfs mount prevents other users from reading the files but does not address the persistence issue). Rotating any TLS client credentials that may have been exposed while the vulnerable version was running should also be considered, as the files were never deleted and may remain on disk.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in nuget
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The root cause is CWE-312 (Cleartext Storage of Sensitive Information in an Insufficiently Protected Location). The affected library, Steeltoe.Configuration.Abstractions (CPE: cpe:2.3:a:steeltoeoss:steeltoe.configuration.abstractions:*:*:*:*:*:*:*:*), processes Cloud Foundry's VCAP_SERVICES environment variable to extract service binding credentials and map them to .NET configuration. For MySQL and PostgreSQL bindings that include mTLS client credentials (ssl-cert, ssl-key, ssl-ca for MySQL; SSL Certificate, SSL Key, Root Certificate for PostgreSQL), CloudFoundryPostProcessor implementations call mapper.MapFromToFile(), which writes PEM-encoded credential data to files in Path.GetTempPath() (typically /tmp on Linux) via the .NET File.CreateText API. Unlike Windows, Linux does not restrict file permissions in File.CreateText beyond the process umask, so files land at mode 0644 - world-readable. Compounding this, the post-processors never tracked the created paths, so no cleanup occurred on application shutdown. The fix in commit 8dd97cc introduces a CreateTempFile helper that uses FileStreamOptions.UnixCreateMode = UserRead | UserWrite (0600) on non-Windows platforms, and adds IDisposable implementations across PostProcessorConfigurationProvider and CloudFoundryPostProcessor to delete tracked temp paths on disposal.
Know when PostgreSQL gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:N/A:N
Local attack vector and a separately-UID'd co-process in /tmp are required, justifying AV:L and AC:H; exposed TLS private keys warrant C:H with no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Configuration.Abstractions 4.0.0 through 4.1.0, when MySQL or PostgreSQL service bindings from VCAP_SERVICES include TLS client credentials, the Connectors library writes those credentials to temporary files in Path.GetTempPath() using File.CreateText. On Linux, File.CreateText creates files with mode 0644 (world-readable) under the process umask, and the files are never deleted. The same key material is protected at mode 0400 in /proc/<pid>/environ. Steeltoe.Configuration.Abstractions version 4.2.0 patches the issue. If an immediate upgrade is not possible, prevent other processes from running in the container under a different UID with access to /tmp.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in PostgreSQL
View allPostgreSQL libpq functions PQescapeLiteral(), PQescapeIdentifier(), PQescapeString(), and PQescapeStringConn() improperl
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
Argument injection vulnerability in PostgreSQL 9.2.x before 9.2.4, 9.1.x before 9.1.9, and 9.0.x before 9.0.13 allows re
Unauthenticated arbitrary file write in Splunk Enterprise (below 10.2.4 and 10.0.7) and Splunk Cloud Platform (below 10.
Unauthenticated SQL injection in Sangoma Switchvox SMB Edition 8.3 (build 104997) lets remote attackers execute arbitrar
PostgreSQL versions before 9.2.22, 9.3.18, 9.4.13, 9.5.8 and 9.6.4 are vulnerable to incorrect authentication flaw allow
The build_tablename function in pgsql.c in the PostgreSQL (aka pgsql) extension in PHP through 5.6.7 does not validate t
A vulnerability in the h2oai/h2o-3 REST API versions 3.46.0.4 allows unauthenticated remote attackers to execute arbitra
In PostgreSQL 9.3 through 11.2, the "COPY TO/FROM PROGRAM" function allows superusers and users in the 'pg_execute_serve
Unauthenticated SQL injection in Vendure Shop API allows remote attackers to execute arbitrary SQL commands against the
Parse Server is an open source http web server backend. Rated critical severity (CVSS 10.0), this vulnerability is remot
Hard-coded default PostgreSQL credentials shipped in the docker-compose.yaml of langgenius Dify through version 1.5.1 al
EUVD-2026-37820
GHSA-rxrh-4j9h-xgg9
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB