Bug 2005473 (CVE-2020-21531)

Summary: CVE-2020-21531 transfig: global buffer overflow in conv_pattern_index() in gencgm.c
Product: [Other] Security Response Reporter: Guilherme de Almeida Suckevicz <gsuckevi>
Component: vulnerabilityAssignee: Nobody <nobody>
Status: CLOSED WONTFIX QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: databases-maint, hhorak, kasal, mschorm, pkubat, zmiklank
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
In transfig's fig2dev 3.2.7b it is possible for an attacker to create a specially crafted file that causes a buffer overflow due to an off by one error during range checking. This leads to a denial of service, impacting availability of the program.
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-12-13 13:42:10 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: 2006001, 2006002    
Bug Blocks: 2005482    

Description Guilherme de Almeida Suckevicz 2021-09-17 18:16:28 UTC
fig2dev 3.2.7b contains a global buffer overflow in the conv_pattern_index function in gencgm.c.

Reference:
https://sourceforge.net/p/mcj/tickets/63/

Comment 1 Garrett Tucker 2021-09-20 16:28:33 UTC
After analysis of this flaw, all versions of RHEL 8 and 9 are affected. The patch that can be applied to fix this flaw is: https://sourceforge.net/p/mcj/fig2dev/ci/2f8d1ae9763dcdc99b88a2b14849fe37174bcd69/. This flaw was caused by an off by one error which caused an out of range pattern and resulted in a global buffer overflow.

Comment 3 Garrett Tucker 2021-10-19 17:10:03 UTC
Analysis did not show any sign of being able to achieve code execution with this flaw. The flaw present caused a denial of service to the program affecting availability, but with no found effects on Integrity or Confidentiality of data. As such the CVSS score should be 5.5/CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H