Headline
GHSA-28gg-8qqj-fhh5: OpenSearch Data Prepper uses deprecated SSL protocol identifier
Impact
The GeoIP processor and Kafka source and buffer were using the deprecated “SSL” protocol identifier when creating SSL contexts, potentially allowing the use of insecure SSL protocols instead of modern TLS versions.
Multiple Data Prepper plugins used SSLContext.getInstance("SSL")
which could potentially allow the use of deprecated SSL protocols (SSLv2, SSLv3) that have known security vulnerabilities. While modern Java implementations typically default to secure TLS versions even with the “SSL” identifier, explicitly using “TLS” ensures that only secure TLS protocols are negotiated.
The affected components were:
GeoIP Processor: The
DBSource.initiateSSL()
method used for downloading GeoIP databases from external sourcesKafka Plugin: Both
CustomClientSslEngineFactory
andInsecureSslEngineFactory
classes used for Kafka client connections
This could potentially allow connections to negotiate weaker SSL protocols instead of enforcing modern TLS versions, reducing the security of data transmission.
Patches
Data Prepper 2.12.2 contains a fix for this issue.
Workarounds
If upgrading is not immediately possible:
- Ensure your Java runtime is configured to disable deprecated SSL protocols
- Use network-level controls to enforce TLS-only connections
- Use external tools to verify that deprecated SSL protocols are not allowed.
Impact
The GeoIP processor and Kafka source and buffer were using the deprecated “SSL” protocol identifier when creating SSL contexts, potentially allowing the use of insecure SSL protocols instead of modern TLS versions.
Multiple Data Prepper plugins used SSLContext.getInstance(“SSL”) which could potentially allow the use of deprecated SSL protocols (SSLv2, SSLv3) that have known security vulnerabilities. While modern Java implementations typically default to secure TLS versions even with the “SSL” identifier, explicitly using “TLS” ensures that only secure TLS protocols are negotiated.
The affected components were:
GeoIP Processor: The DBSource.initiateSSL() method used for downloading GeoIP databases from external sources
Kafka Plugin: Both CustomClientSslEngineFactory and InsecureSslEngineFactory classes used for Kafka client connections
This could potentially allow connections to negotiate weaker SSL protocols instead of enforcing modern TLS versions, reducing the security of data transmission.
Patches
Data Prepper 2.12.2 contains a fix for this issue.
Workarounds
If upgrading is not immediately possible:
- Ensure your Java runtime is configured to disable deprecated SSL protocols
- Use network-level controls to enforce TLS-only connections
- Use external tools to verify that deprecated SSL protocols are not allowed.
References
- GHSA-28gg-8qqj-fhh5
- opensearch-project/data-prepper@fa21a60