CVE-2026-50200: Steeltoe Management Endpoint Leaks Connection Strings and Database Credentials
Steeltoe's management endpoint used for monitoring application health and configuration leaks sensitive database connection details when accessed over the network. The component responsible for hiding passwords and secrets has gaps in its pattern matching—it misses connection strings that follow standard .NET naming conventions. An attacker with network access to the monitoring endpoint can retrieve full connection strings containing usernames, passwords, and host information without authentication. Upgrading to patched versions closes this exposure.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 7.5 HIGH · CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses (CWE)
- CWE-200, CWE-319
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-06-17 / 2026-06-22
NVD description (verbatim)
Steeltoe is an open source project that provides a collection of libraries that helps users build cloud-native applications. In Steeltoe.Management.Endpoint prior to version 4.2.0 and Steeltoe.Management.EndpointCore prior to version 3.4.0, the `Sanitizer` component in the Environment actuator redacts configuration values by matching the configuration key name against a suffix list. The default list (`password`, `secret`, `key`, `token`, `.*credentials.*`, `vcap_services`) does not cover the standard .NET pattern `ConnectionStrings:<name>` or Steeltoe Connectors' `Steeltoe:Client:<type>:Default:ConnectionString`. There is no value-based scrubbing, so full connection string values including embedded `Password=` and `user:pass@host` segments are returned verbatim in `/actuator/env` responses. Steeltoe.Management.Endpoint 4.2.0 and Steeltoe.Management.EndpointCore 3.4.0 patch the issue. If an immediate upgrade is not possible: On the standard path, remove `env` from the actuator exposure list; add `.*connectionstring.*` to `KeysToSanitize` as a defense-in-depth measure for both paths; and/or require authorization on actuator endpoints.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
The Environment actuator in Steeltoe.Management.Endpoint (pre-4.2.0) and Steeltoe.Management.EndpointCore (pre-3.4.0) uses a suffix-based key matcher to redact sensitive configuration at the `/actuator/env` endpoint. The default redaction list includes common patterns like `password`, `secret`, `key`, `token`, and regex-matched `credentials`, but does not account for `ConnectionStrings:<name>` (standard .NET Entity Framework pattern) or `Steeltoe:Client:<type>:Default:ConnectionString` (Steeltoe-specific connector pattern). The sanitizer performs no value-based content inspection, so connection strings embedded in configuration are returned unredacted in plaintext responses, exposing embedded credentials in formats such as `Password=value` or `user:pass@host`.
Business impact
Applications using Steeltoe management endpoints expose database credentials and service connection details to unauthenticated network-adjacent attackers, enabling direct database compromise, lateral movement to backend services, and potential data exfiltration. Organizations running multi-tenant cloud environments face heightened risk of cross-tenant reconnaissance. Regulatory frameworks (HIPAA, PCI-DSS, SOX) treating exposed credentials as a reportable breach event increase incident response costs and notification obligations. The severity is amplified in containerized or orchestrated deployments where the actuator endpoint may be accessible within internal networks without explicit segmentation.
Affected systems
Steeltoe.Management.Endpoint versions prior to 4.2.0 and Steeltoe.Management.EndpointCore versions prior to 3.4.0 are vulnerable. Any application using these packages with the Environment actuator enabled and exposed (via default actuator exposure settings) is at risk. This includes ASP.NET Core applications leveraging Steeltoe for cloud platform integration (Pivotal Cloud Foundry, Kubernetes, Azure, AWS).
Exploitability
Exploitation requires no authentication, no user interaction, and only network access to the `/actuator/env` endpoint (typically port 8080 or 8888 in development, or behind a load balancer in production). An attacker can enumerate the endpoint via port scanning or service discovery and retrieve credentials in a single HTTP GET request. The barrier to exploitation is therefore very low; the primary protection is network segmentation or endpoint access control.
Remediation
Upgrade to Steeltoe.Management.Endpoint 4.2.0 or later, and Steeltoe.Management.EndpointCore 3.4.0 or later. For applications unable to upgrade immediately, implement mitigations in priority order: (1) disable the `env` actuator in the exposure list; (2) add `.*connectionstring.*` as a custom regex pattern to the `KeysToSanitize` configuration (applies to both standard and Steeltoe connector patterns); (3) require authentication and authorization on all actuator endpoints using Spring Security or equivalent middleware; (4) restrict network access to the actuator port to trusted internal networks only.
Patch guidance
Check your csproj or package manifest for Steeltoe.Management.Endpoint and Steeltoe.Management.EndpointCore dependencies. Update both packages to 4.2.0 and 3.4.0 respectively (verify against official Steeltoe release notes and NuGet.org). Rebuild and redeploy. If you maintain a private NuGet feed, validate that packages are available in your internal repository before updating. After deployment, verify the `/actuator/env` endpoint no longer returns raw connection strings; test with a non-privileged application identity to confirm authorization enforcement is working.
Detection guidance
In existing deployments, query `/actuator/env` (requires network access to the management endpoint) and search response bodies for patterns like `ConnectionString`, `Password=`, or database connection formats (e.g., `Server=`, `Host=`, `user:pass@`). Log access to `/actuator/env` and alert on repeated requests or requests from external networks. Enable audit logging on database systems to detect unauthorized connection attempts using exposed credentials. Use static analysis tools (e.g., SonarQube, Snyk) to identify Steeltoe package versions in your codebase; flag any version below 4.2.0 or 3.4.0 as a remediation candidate.
Why prioritize this
CVSS 7.5 (HIGH) reflects high confidentiality impact with no authentication or interaction required. However, practical priority depends on (1) network exposure of the actuator endpoint, (2) sensitivity of databases accessed by the application, and (3) presence of multi-tenant or shared infrastructure. Prioritize patching for externally exposed applications, production databases with sensitive data (PII, financial records), and shared cloud platforms.
Risk score, explained
The vulnerability scores 7.5 under CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N. Network-accessible (`AV:N`), low complexity (`AC:L`), no privileges required (`PR:N`), no user interaction (`UI:N`), and single scope (`S:U`) combine for a base score of 7.5. High confidentiality impact (`C:H`) reflects exposure of authentication credentials; no integrity or availability impact because the endpoint is read-only. The score does not penalize for network segmentation or existing access controls, so organizations with properly restricted management ports may face lower practical risk.
Frequently asked questions
How do I know if my Steeltoe application is vulnerable?
Check your csproj file or package manager for Steeltoe.Management.Endpoint and Steeltoe.Management.EndpointCore versions. If either is below 4.2.0 (Endpoint) or 3.4.0 (EndpointCore) respectively, and the Environment actuator is enabled in appsettings.json (default or explicitly listed in `management:endpoints:web:exposure:include`), your application is vulnerable. Verify by making an unauthenticated HTTP GET request to `/actuator/env` from a local or remote network client; if you see connection strings in the response, the vulnerability is active.
If I can't upgrade immediately, will the custom sanitizer pattern really block connection strings?
Yes, adding `.*connectionstring.*` as a regex to `KeysToSanitize` will redact any configuration key matching that pattern before the response is returned. However, this is a workaround, not a fix—it does not address underlying application logic or other potential information disclosure paths. Upgrade as soon as feasible within your change management process.
Does this vulnerability affect only cloud-native deployments?
No. While Steeltoe is designed for cloud-native applications, any ASP.NET Core application using these packages is at risk. The vulnerability manifests identically in on-premises, hybrid, and cloud environments. The risk is elevated in cloud environments because actuator endpoints are often exposed behind load balancers or service meshes with implicit trust.
Are there any known exploits or public proof-of-concepts?
There are no confirmed public exploits as of the CVE publication date. However, the vulnerability is trivial to exploit (a single HTTP GET request) and the actuator endpoint is documented in Steeltoe guides, making it an obvious target for reconnaissance. Organizations should assume active scanning and opportunistic exploitation once the vulnerability becomes widely known.
This analysis is provided for informational purposes and represents the state of publicly available information as of the publication date. Consult official Steeltoe release notes and vendor advisories for authoritative patch guidance. Organizations should validate patch compatibility with their specific Steeltoe version, .NET runtime, and application architecture before deployment. This explainer does not constitute legal advice or guarantee of security; security teams should conduct their own risk assessment aligned with their threat model and compliance obligations. Source: NVD (public-domain), retrieved 2026-07-27. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2025-69755HIGHNeterbit NW-431F Router RCE and Data Exposure Vulnerability
- CVE-2026-0411HIGHNETGEAR Orbi Admin Takeover via Information Disclosure
- CVE-2026-34126HIGHTP-Link Tapo Unencrypted Bluetooth Setup Vulnerability – L535E, P300, D100C
- CVE-2026-36611HIGHMercusys AC12G Memory Disclosure Vulnerability
- CVE-2026-36719HIGHAgentChat v2.3.0 Unauthenticated Information Disclosure – Password Hash Leak
- CVE-2026-39007HIGHObserveinc Observe Unauthenticated Log Export Information Disclosure
- CVE-2026-41032HIGHNetwork Controller Unauthenticated Log File Disclosure Vulnerability
- CVE-2026-44486HIGHAxios Node.js Proxy Credential Leakage Vulnerability