Bug 1814615 (CVE-2020-9430)
Summary: | CVE-2020-9430 wireshark: injecting a malformed packet may cause WiMax DLMAP dissector to crash due to out-of-bound read | ||
---|---|---|---|
Product: | [Other] Security Response | Reporter: | Michael Kaplan <mkaplan> |
Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | unspecified | CC: | denis, huzaifas, lemenkov, mruprich, msehnout, peter, rschiron, rvokal, sergey.avseyev |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | wireshark 3.2.2, wireshark 3.0.9, wireshark 2.6.15 | Doc Type: | If docs needed, set a value |
Doc Text: |
An out-of-bounds read was discovered in Wireshark when processing WiMax packets. An attacker can trigger the flaw by injecting special packets onto the wire or by convincing a victim user into opening a malformed packet trace file.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2021-06-29 20:27:41 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: | 1814617, 1817114, 1817115 | ||
Bug Blocks: | 1814638 |
Description
Michael Kaplan
2020-03-18 11:47:18 UTC
External References: https://www.wireshark.org/security/wnpa-sec-2020-04 Created wireshark tracking bugs for this issue: Affects: fedora-all [bug 1814617] Upstream fix: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=7ce2ca316c7450a6e2ca2fc50b2c24a92a64383e https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=6dad599a8a1bda8b8e999cc4a7e460140e4ecc0a Function wimax_decode_dlmapc() in msg_dlmap.c checks whether `MIN(tvb_len, tvb_reported_length(tvb))` is greater than mac_len and if that's the case it computes `mac_len - sizeof(mac_crc)`. However, the vulnerable code does not also ensure that mac_len is actually bigger than sizeof(mac_crc). When it is not, a negative value will be passed to function wimax_mac_calc_crc32() which will read memory out-of-bounds. Code in Red Hat Enteprise Linux 7 is slightly different because `mac_len - (int)sizeof(mac_crc)` is first passed as an argument to `tvb_get_ntohl` which would raise an exception in case of issues. This however does not seem enough to mark the product as not affected. |