Get ahead
VMware offers training and certification to turbo-charge your progress.
Learn morePropertiesPersistingMetadataStore, the default file-based ConcurrentMetadataStore, persists its state to ${java.io.tmpdir}/spring-integration/metadata-store.properties.
afterPropertiesSet() creates this directory and file with File.mkdirs() and File.createNewFile(), and saveMetadata() writes to it via a plain FileOutputStream, without ever restricting permissions.
On a typical POSIX host the directory and file therefore inherit the process umask (commonly 0755 and 0644), leaving both world-readable in a java.io.tmpdir location shared by every local user.
Any other local user or process can read the metadata store's contents, which may include sensitive state such as processed message keys, offsets, or idempotency markers used by the application.
Spring Integration:
| Fix version | Availability |
|---|---|
| 7.1.0.1 | Enterprise Support Only |
| 7.1.1 | OSS |
| 7.0.5.1 | Enterprise Support Only |
| 7.0.6 | OSS |
| 6.5.11 | Enterprise Support Only |
| 6.4.13 | Enterprise Support Only |
| 5.5.22 | Enterprise Support Only |
No further mitigation steps are necessary.
The issue was identified and responsibly reported by Uwez Khan
To report a security vulnerability for a project within the Spring portfolio, see the Security Policy