Bug 1919912 (CVE-2020-26418)

Summary: CVE-2020-26418 wireshark: Kafka dissector memory leak (wnpa-sec-2020-16)
Product: [Other] Security Response Reporter: Dhananjay Arunesh <darunesh>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED WONTFIX QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: unspecifiedCC: alekcejk, denis, huzaifas, lemenkov, mruprich, msehnout, peter, rvokal, sergey.avseyev
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: wireshark 3.2.9, wireshark 3.4.1 Doc Type: If docs needed, set a value
Doc Text:
A flaw was discovered in the Apache Kafka protocol dissector of Wireshark while decoding packets captured in a pcap file or coming from the network. A remote attacker may abuse this flaw by sending specially crafted packets that, when processed, would potentially make Wireshark crash resulting in a denial of service. The highest threat from this vulnerability is to system availability.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-29 20:58:01 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1919913, 1924649    
Bug Blocks: 1919925    

Comment 1 Dhananjay Arunesh 2021-01-25 11:51:55 UTC
Created wireshark tracking bugs for this issue:

Affects: fedora-all [bug 1919913]

Comment 3 Mauro Matteo Cascella 2021-02-01 10:24:26 UTC
External References:

https://www.wireshark.org/security/wnpa-sec-2020-16

Comment 4 Mauro Matteo Cascella 2021-02-01 14:31:58 UTC
Statement:

This issue does not affect the versions of `wireshark` as shipped with Red Hat Enterprise Linux 5, 6, and 7, as they did not include support for the Apache Kafka dissector.

Comment 5 Mauro Matteo Cascella 2021-02-03 11:09:23 UTC
More of a memory leak, I'd rather consider this bug to be an improper validation of the decompression size (while decoding packets captured in a pcap file or coming from the network) leading to an assertion failure and possible crash. Among other things, the patch checks the 'length' argument of decompress() in epan/dissectors/packet-kafka.c.

---
#define MAX_DECOMPRESSION_SIZE (50 * 1000 * 1000) // Arbitrary
if (length > MAX_DECOMPRESSION_SIZE) {
    expert_add_info(pinfo, NULL, &ei_kafka_bad_decompression_length);
    return FALSE;
}