Bug 2005467 (CVE-2020-21529)

Summary: CVE-2020-21529 transfig: stack-based buffer overflow in bezier_spline() in genepic.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 stack buffer overflow due to improper range checks. This leads to a denial of service, impacting availability of the program.
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-12-13 13:42:30 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: 2005517, 2005518    
Bug Blocks: 2005482    

Description Guilherme de Almeida Suckevicz 2021-09-17 18:09:43 UTC
fig2dev 3.2.7b contains a stack buffer overflow in the bezier_spline function in genepic.c.

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

Comment 2 Garrett Tucker 2021-09-17 21:02:00 UTC
After analysis and testing with provided PoC, RHEL 8.4.0 - 9.0.0 is affected by this flaw. The patch to fix this flaw is: https://sourceforge.net/p/mcj/fig2dev/ci/e3cee2576438f47a3b8678c6960472e625f8f7d7/ and can be easily backported to fix the existing flaws.

Comment 3 Garrett Tucker 2021-10-19 17:07:59 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