Horizon Alert
Summary of the vulnerability and why it matters
A vulnerability in Apache Kafka's handling of array data in requests can allow an unauthenticated attacker to cause a denial-of-service by crashing the system with a specially crafted request. This issue impacts the availability of the data streaming platform by consuming excessive memory before any security checks are performed.
- Malicious requests can crash Kafka servers.
- System availability is at risk before authorization.
- Assess Kafka's direct network exposure.
Attack Path
How an attacker could exploit the issue
An attacker can target Apache Kafka brokers by sending specially crafted requests that declare an extremely large number of elements in an array. Even if the total size of the request is manageable, the broker's protocol readers will attempt to pre-size a collection based on this declared count. This can lead to a massive heap allocation that far exceeds the actual data, consuming all available memory and causing the broker to crash. This attack can occur before any authentication or authorization checks are performed, and it affects all API types that include an array field.
- Unauthenticated or authenticated network access.
- Sending requests with excessively large array declarations.
- Broker crash due to excessive memory allocation.
Live Threat
Current exploitation, exposure, and threat context
This vulnerability could impact the availability of Apache Kafka brokers by allowing specially crafted requests to consume excessive memory. When processing requests containing array fields, a flaw in how array sizes are checked can lead to massive heap allocations, potentially crashing the broker and disrupting data streaming services. This could occur on listeners that do not require authentication, enabling unauthenticated attackers to cause denial-of-service conditions.
- Broker heap memory.
- Large array declarations in requests.
- Broker crashes and service disruption.
Operational Fix
Recommended remediation, mitigation, and detection steps
Real-world remediation likely falls to the platform or infrastructure teams managing Apache Kafka, as request parsing precedes authorization checks and affects broker heap allocations. The initial practical move is to identify all Kafka broker instances, assess their network exposure and business criticality, and then determine the accountable owner for each. Planning remediation should prioritize instances with the greatest exposure and impact.
- Platform/Infrastructure teams own remediation.
- Verify broker network exposure and criticality.
- Plan staged remediation based on risk.