Looking for the vulnerability index of Invicti's legacy products?
Apache Kafka Unauthorized Access Vulnerability - Vulnerability Database

Apache Kafka Unauthorized Access Vulnerability

Description

Apache Kafka is an open-source distributed event streaming platform widely used for high-performance data pipelines, streaming analytics, and mission-critical applications.

This vulnerability occurs when Apache Kafka brokers are exposed to untrusted networks without proper authentication and authorization controls. Kafka is designed to operate within trusted environments and assumes clients are authenticated. When publicly accessible or exposed to untrusted networks without security configurations, unauthorized users can connect to Kafka brokers, potentially accessing sensitive data streams or disrupting operations.

Remediation

Implement the following security controls to protect Apache Kafka from unauthorized access:

1. Network Segmentation:
• Deploy Kafka brokers within private networks or VPCs, not directly exposed to the internet
• Use firewall rules to restrict access only from trusted IP ranges or application servers
• Consider using VPN or bastion hosts for administrative access

2. Enable Authentication:
Configure SASL authentication in server.properties:

listeners=SASL_SSL://kafka-broker:9093
security.inter.broker.protocol=SASL_SSL
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN,SCRAM-SHA-256

3. Enable Authorization:
Implement ACLs (Access Control Lists) to control topic and consumer group access:
authorizer.class.name=kafka.security.authorizer.AclAuthorizer
super.users=User:admin
allow.everyone.if.no.acl.found=false

4. Enable Encryption:
Use SSL/TLS to encrypt data in transit between clients and brokers

5. Regular Auditing:
• Monitor broker logs for unauthorized access attempts
• Regularly review and update ACL configurations
• Conduct periodic security assessments of Kafka deployments

References

Related Vulnerabilities