---
id: CVE-2026-50267
title: >-
  Steeltoe: TLS private keys written to /tmp with default permissions, never
  deleted
summary: >-
  Steeltoe: TLS private keys written to /tmp with default permissions, never
  deleted
severity: medium
cvss: 4.7
cwe:
  - CWE-312
  - CWE-732
vendor: Steeltoe
product: Steeltoe.Configuration.Abstractions
ecosystem: nuget
affected:
  - 'Steeltoe.Configuration.Abstractions >= 4.0.0, <= 4.1.0'
patched:
  - Steeltoe.Configuration.Abstractions 4.2.0
published: '2026-07-02'
updated: '2026-07-02'
source: GHSA
sourceUrl: 'https://github.com/advisories/GHSA-rxrh-4j9h-xgg9'
references:
  - url: >-
      https://github.com/SteeltoeOSS/security-advisories/security/advisories/GHSA-rxrh-4j9h-xgg9
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-50267'
  - url: >-
      https://github.com/SteeltoeOSS/Steeltoe/commit/8dd97cc6c4b184121a4bd1f92f9ac16918433471
  - url: 'https://github.com/advisories/GHSA-rxrh-4j9h-xgg9'
tags:
  - ghsa
  - nuget
epss: 0.00065
epssPercentile: 0.00019
ingestedAt: '2026-07-02T20:42:45.625Z'
---

## Overview

### Summary

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`.

### Impact

Any process co-located in the container that runs as a different UID can read the TLS client private key from `/tmp` and use it to impersonate the application when connecting to the backing database over mutual TLS.

### Affected configuration

- Application is deployed on Cloud Foundry or another environment that populates `VCAP_SERVICES` with a MySQL or PostgreSQL service binding that includes `sslKey` credentials.
- A process running as a different UID shares the container's filesystem.

### Mitigations

If an immediate upgrade is not possible, prevent other processes from running in the container under a different UID with access to `/tmp`.

## Affected packages

- `Steeltoe.Configuration.Abstractions >= 4.0.0, <= 4.1.0`

## Remediation

Upgrade to a patched release:

- `Steeltoe.Configuration.Abstractions 4.2.0`
