Bug 1208225 (CVE-2023-25194) - VUL-0: CVE-2023-25194: kafka: Kafka Connect RCE via connector SASL JAAS JndiLoginModule configuration
Summary: VUL-0: CVE-2023-25194: kafka: Kafka Connect RCE via connector SASL JAAS JndiL...
Status: RESOLVED INVALID
Alias: CVE-2023-25194
Product: SUSE Security Incidents
Classification: Novell Products
Component: Incidents (show other bugs)
Version: unspecified
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Security Team bot
QA Contact: Security Team bot
URL: https://smash.suse.de/issue/356389/
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-02-14 09:14 UTC by Thomas Leroy
Modified: 2024-05-03 15:01 UTC (History)
3 users (show)

See Also:
Found By: Security Response Team
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Leroy 2023-02-14 09:14:32 UTC
CVE-2023-25194

A possible security vulnerability has been identified in Apache Kafka Connect.
This requires access to a Kafka Connect worker, and the ability to create/modify
connectors on it with an arbitrary Kafka client SASL JAAS config and a
SASL-based security protocol, which has been possible on Kafka Connect clusters
since Apache Kafka 2.3.0. When configuring the connector via the Kafka Connect
REST API, an authenticated operator can set the `sasl.jaas.config` property for
any of the connector's Kafka clients to
"com.sun.security.auth.module.JndiLoginModule", which can be done via the
`producer.override.sasl.jaas.config`, `consumer.override.sasl.jaas.config`, or
`admin.override.sasl.jaas.config` properties. This will allow the server to
connect to the attacker's LDAP server and deserialize the LDAP response, which
the attacker can use to execute java deserialization gadget chains on the Kafka
connect server. Attacker can cause unrestricted deserialization of untrusted
data (or) RCE vulnerability when there are gadgets in the classpath. Since
Apache Kafka 3.0.0, users are allowed to specify these properties in connector
configurations for Kafka Connect clusters running with out-of-the-box
configurations. Before Apache Kafka 3.0.0, users may not specify these
properties unless the Kafka Connect cluster has been reconfigured with a
connector client override policy that permits them. Since Apache Kafka 3.4.0, we
have added a system property ("-Dorg.apache.kafka.disallowed.login.modules") to
disable the problematic login modules usage in SASL JAAS configuration. Also by
default "com.sun.security.auth.module.JndiLoginModule" is disabled in Apache
Kafka 3.4.0. We advise the Kafka Connect users to validate connector
configurations and only allow trusted JNDI configurations. Also examine
connector dependencies for vulnerable versions and either upgrade their
connectors, upgrading that specific dependency, or removing the connectors as
options for remediation. Finally, in addition to leveraging the
"org.apache.kafka.disallowed.login.modules" system property, Kafka Connect users
can also implement their own connector client config override policy, which can
be used to control which Kafka client properties can be overridden directly in a
connector config and which cannot.

References:
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2023-25194
https://www.cve.org/CVERecord?id=CVE-2023-25194
https://lists.apache.org/thread/vy1c7fqcdqvq5grcqp6q5jyyb302khyz
https://kafka.apache.org/cve-list
Comment 1 Thomas Leroy 2023-02-14 09:15:52 UTC
SUSE and openSUSE codestreams ship an older version that the one introducing the bug. Closing
Comment 5 Robert Frohl 2024-05-03 15:01:17 UTC
closing