CVE-2023-25194: A possible security vulnerability has been identified in Apa..
apache
•
Feb 7, 2023
•
Jul 21, 2023
Description
A possible security vulnerability has been identified in Apache Kafka Connect API. 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 Connect 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 Connect 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.
Products affected:
apache» kafka_connect » *
In a few clicks Akto can analyze your API attack surface and see what APIs are vulnerable to OWASP Top 10 and other common CWEs.
Severity
8.8
/
10
CVSS base metrics
Attack vector
NETWORK
Attack complexity
LOW
Privileges required
LOW
User interaction
NONE
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Exploitability Score
2.8
Impact Score
5.9
Weakness
CWE-502__
Learn from academy
HTML Injection
Code Injection
Blind SQL Injection
HTTP Header Injection
LDAP Injection
PHP Injection
Command Injection
NoSQL Injection
Authentication Methods
Brute Force Attack
What is Fuzzing and How Does It Work?
What is API Fuzzing?
What is Fuzzer?
White Box Fuzzing
Black Box Fuzzing
Fuzzing Tools
Golang Fuzzing
File Format Fuzzing
Restler - REST API fuzzer
Directory Fuzzing
Web Fuzzing
What is Metasploit and Nmap?
Drupal Penetration Testing
NIST Penetration Testing
Nessus Penetration Testing
Qualys Penetration Testing
Grey Box Penetration Testing Methodology
Black Box Penetration Testing Methodology
Cloud Penetration Testing Methodology
Active Directory Pentesting Methodology
GraphQL Penetration Testing Methodology
What is API Pentesting?
What is Automated Penetration Testing?
What is API Security?
What is API Security Posture?
What is API Security Testing?
API Security Checklist
What is a Shadow API?
What is a Zombie API?
What are Business Logic Vulnerabilities?
Related tests
JWT authentication bypass via jku header injection
eSMTP - Config Discovery
Nginx - Git Configuration Exposure
Laravel - Sensitive Information Disclosure
Docker Container - Misconfiguration Exposure
Msmtp - Config Exposure
Parameters.yml - File Discovery
Mongo Express - Unauthenticated Access
Apache Airflow Configuration Exposure
Dockerrun AWS Configuration Exposure
Apache Config file disclosure
Appspec Yml Disclosure
Explore more from Akto
Blog
Be updated about everything related to API Security, new API vulnerabilities, industry news and product updates.
Test Library
Discover and find tests from Akto's 100+ API Security test library. Choose your template or add a new template to start your API Security testing.
Documentation
Check out Akto's product documentation for all information related to features and how to use them.