Bug 1740464 (CVE-2019-14274)

Summary: CVE-2019-14274 mcpp: heap based buffer overflow in function do_msg() in support.c
Product: [Other] Security Response Reporter: Dhananjay Arunesh <darunesh>
Component: vulnerabilityAssignee: Red Hat Product Security <security-response-team>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: kmatsui, mefoster, pfrankli
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-10-27 10:47:54 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: 1740465, 1743382    
Bug Blocks: 1740467    

Description Dhananjay Arunesh 2019-08-13 04:44:49 UTC
A vulnerability was found in MCPP 2.7.2 has a heap-based buffer overflow in the do_msg() function in
support.c.

Reference:
https://sourceforge.net/p/mcpp/bugs/13/

Comment 1 Dhananjay Arunesh 2019-08-13 04:45:04 UTC
Created mcpp tracking bugs for this issue:

Affects: fedora-all [bug 1740465]

Comment 3 Marco Benatto 2019-08-19 15:49:34 UTC
External References:

https://sourceforge.net/p/mcpp/bugs/13/

Comment 6 Marco Benatto 2019-08-19 19:01:40 UTC
When mcpp application found multibyte characters when parsing the input file, it tries to show warning messages. The messages are shown via cwarn() function which further calls do_msg() with the error message itself formatted in printf-like format. The buffer containing the multibyte sequence is also passed as parameter for do_msg() which doesn't handle it gracefully. This causes a buffer overflow to happening during the output message formation, the overflow may cause low integrity and confidentiality impacts and eventually may lead to invalid memory access causing DoS.